{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "a1851245",
   "metadata": {},
   "source": [
    "Copyright (c) MONAI Consortium  \n",
    "Licensed under the Apache License, Version 2.0 (the \"License\");  \n",
    "you may not use this file except in compliance with the License.  \n",
    "You may obtain a copy of the License at  \n",
    "&nbsp;&nbsp;&nbsp;&nbsp;http://www.apache.org/licenses/LICENSE-2.0  \n",
    "Unless required by applicable law or agreed to in writing, software  \n",
    "distributed under the License is distributed on an \"AS IS\" BASIS,  \n",
    "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  \n",
    "See the License for the specific language governing permissions and  \n",
    "limitations under the License.\n",
    "\n",
    "# Denoising Diffusion Probabilistic Models using v-prediction parameterization\n",
    "\n",
    "This tutorial illustrates how to use MONAI for training a denoising diffusion probabilistic model (DDPM)[1] to create synthetic 2D images using v-prediction parameterization (Section 2.4 from [2]).\n",
    "\n",
    "[1] - Ho et al. \"Denoising Diffusion Probabilistic Models\" https://arxiv.org/abs/2006.11239\n",
    "\n",
    "[2] - Ho et al. \"Imagen Video: High Definition Video Generation with Diffusion Models\" https://arxiv.org/abs/2210.02303\n",
    "\n",
    "\n",
    "## Setup environment"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "70ca9dc1",
   "metadata": {},
   "outputs": [],
   "source": [
    "!python -c \"import monai\" || pip install -q \"monai-weekly[tqdm]\"\n",
    "!python -c \"import matplotlib\" || pip install -q matplotlib\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1207a5cf",
   "metadata": {},
   "source": [
    "## Setup imports"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "a952676b",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MONAI version: 1.4.0rc6\n",
      "Numpy version: 1.26.4\n",
      "Pytorch version: 2.3.1+cu121\n",
      "MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False\n",
      "MONAI rev id: 6a0e1b043ba2890e1463fa49df76f66e56a68b08\n",
      "MONAI __file__: /home/<username>/miniconda3/envs/monai/lib/python3.11/site-packages/monai/__init__.py\n",
      "\n",
      "Optional dependencies:\n",
      "Pytorch Ignite version: 0.4.11\n",
      "ITK version: 5.4.0\n",
      "Nibabel version: 5.2.1\n",
      "scikit-image version: 0.23.2\n",
      "scipy version: 1.13.1\n",
      "Pillow version: 10.3.0\n",
      "Tensorboard version: 2.17.0\n",
      "gdown version: 5.2.0\n",
      "TorchVision version: 0.18.1+cu121\n",
      "tqdm version: 4.66.4\n",
      "lmdb version: 1.4.1\n",
      "psutil version: 5.9.0\n",
      "pandas version: 2.2.2\n",
      "einops version: 0.8.0\n",
      "transformers version: NOT INSTALLED or UNKNOWN VERSION.\n",
      "mlflow version: 2.14.0\n",
      "pynrrd version: 1.0.0\n",
      "clearml version: 1.16.2rc0\n",
      "\n",
      "For details about installing the optional dependencies, please visit:\n",
      "    https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies\n",
      "\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "import shutil\n",
    "import tempfile\n",
    "import time\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "import torch.nn.functional as F\n",
    "from torch.amp import GradScaler, autocast\n",
    "from tqdm import tqdm\n",
    "\n",
    "from monai import transforms\n",
    "from monai.apps import MedNISTDataset\n",
    "from monai.config import print_config\n",
    "from monai.data import CacheDataset, DataLoader\n",
    "from monai.utils import first, set_determinism\n",
    "from monai.inferers import DiffusionInferer\n",
    "from monai.networks.nets import DiffusionModelUNet\n",
    "from monai.networks.schedulers import DDPMScheduler\n",
    "\n",
    "print_config()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7b54fce0",
   "metadata": {},
   "source": [
    "## Setup data directory\n",
    "\n",
    "You can specify a directory with the MONAI_DATA_DIRECTORY environment variable.\n",
    "\n",
    "This allows you to save results and reuse downloads.\n",
    "\n",
    "If not specified a temporary directory will be used."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "f237aa7a",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "/tmp/tmplsxlaj96\n"
     ]
    }
   ],
   "source": [
    "directory = os.environ.get(\"MONAI_DATA_DIRECTORY\")\n",
    "root_dir = tempfile.mkdtemp() if directory is None else directory\n",
    "print(root_dir)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c673f098",
   "metadata": {},
   "source": [
    "## Set deterministic training for reproducibility"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "b9947a6e",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "set_determinism(42)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "551b9f64",
   "metadata": {},
   "source": [
    "## Setup MedNIST Dataset and training and validation dataloaders\n",
    "In this tutorial, we will train our models on the MedNIST dataset available on MONAI\n",
    "(https://docs.monai.io/en/stable/apps.html#monai.apps.MedNISTDataset). In order to train faster, we will select just\n",
    "one of the available classes (\"Hand\"), resulting in a training set with 7999 2D images."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "73c52318",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "train_data = MedNISTDataset(root_dir=root_dir, section=\"training\", download=True, progress=False, seed=0)\n",
    "train_datalist = [{\"image\": item[\"image\"]} for item in train_data.data if item[\"class_name\"] == \"Hand\"]\n",
    "batch_size = 64\n",
    "num_workers = 4"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2a4bd51e",
   "metadata": {},
   "source": [
    "Here we use transforms to augment the training dataset:\n",
    "\n",
    "1. `LoadImaged` loads the hands images from files.\n",
    "1. `EnsureChannelFirstd` ensures the original data to construct \"channel first\" shape.\n",
    "1. `ScaleIntensityRanged` extracts intensity range [0, 255] and scales to [0, 1].\n",
    "1. `RandAffined` efficiently performs rotate, scale, shear, translate, etc. together based on PyTorch affine transform."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "fddafade",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Loading dataset: 100%|██████████| 7999/7999 [00:05<00:00, 1421.33it/s]\n"
     ]
    }
   ],
   "source": [
    "train_transforms = transforms.Compose(\n",
    "    [\n",
    "        transforms.LoadImaged(keys=[\"image\"]),\n",
    "        transforms.EnsureChannelFirstd(keys=[\"image\"]),\n",
    "        transforms.ScaleIntensityRanged(keys=[\"image\"], a_min=0.0, a_max=255.0, b_min=0.0, b_max=1.0, clip=True),\n",
    "        transforms.RandAffined(\n",
    "            keys=[\"image\"],\n",
    "            rotate_range=[(-np.pi / 36, np.pi / 36), (-np.pi / 36, np.pi / 36)],\n",
    "            translate_range=[(-1, 1), (-1, 1)],\n",
    "            scale_range=[(-0.05, 0.05), (-0.05, 0.05)],\n",
    "            spatial_size=[64, 64],\n",
    "            padding_mode=\"zeros\",\n",
    "            prob=0.5,\n",
    "        ),\n",
    "    ]\n",
    ")\n",
    "train_ds = CacheDataset(data=train_datalist, transform=train_transforms)\n",
    "train_loader = DataLoader(\n",
    "    train_ds, batch_size=batch_size, shuffle=True, num_workers=num_workers, persistent_workers=True\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "9a79f1a4",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2024-09-02 16:33:59,496 - INFO - Verified 'MedNIST.tar.gz', md5: 0bc7306e7427e00ad1c5526a6677552d.\n",
      "2024-09-02 16:33:59,497 - INFO - File exists: /tmp/tmplsxlaj96/MedNIST.tar.gz, skipped downloading.\n",
      "2024-09-02 16:33:59,499 - INFO - Non-empty folder exists in /tmp/tmplsxlaj96/MedNIST, skipped extracting.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Loading dataset: 100%|██████████| 1005/1005 [00:00<00:00, 1386.65it/s]\n"
     ]
    }
   ],
   "source": [
    "val_data = MedNISTDataset(root_dir=root_dir, section=\"validation\", download=True, progress=False, seed=0)\n",
    "val_datalist = [{\"image\": item[\"image\"]} for item in val_data.data if item[\"class_name\"] == \"Hand\"]\n",
    "val_transforms = transforms.Compose(\n",
    "    [\n",
    "        transforms.LoadImaged(keys=[\"image\"]),\n",
    "        transforms.EnsureChannelFirstd(keys=[\"image\"]),\n",
    "        transforms.ScaleIntensityRanged(keys=[\"image\"], a_min=0.0, a_max=255.0, b_min=0.0, b_max=1.0, clip=True),\n",
    "    ]\n",
    ")\n",
    "val_ds = CacheDataset(data=val_datalist, transform=val_transforms)\n",
    "val_loader = DataLoader(val_ds, batch_size=batch_size, shuffle=False, num_workers=num_workers, persistent_workers=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a9f97389",
   "metadata": {},
   "source": [
    "### Visualisation of the training images"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "35e40075",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "batch shape: torch.Size([96, 1, 64, 64])\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "check_data = first(train_loader)\n",
    "print(f\"batch shape: {check_data['image'].shape}\")\n",
    "image_visualisation = torch.cat(\n",
    "    [check_data[\"image\"][0, 0], check_data[\"image\"][1, 0], check_data[\"image\"][2, 0], check_data[\"image\"][3, 0]], dim=1\n",
    ")\n",
    "plt.figure(\"training images\", (12, 6))\n",
    "plt.imshow(image_visualisation, vmin=0, vmax=1, cmap=\"gray\")\n",
    "plt.axis(\"off\")\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b4e7e745",
   "metadata": {},
   "source": [
    "### Define network, scheduler, optimizer, and inferer\n",
    "At this step, we instantiate the MONAI components to create a DDPM, the UNET, the noise scheduler, and the inferer used for training and sampling. We are using\n",
    "the original DDPM scheduler containing 1000 timesteps in its Markov chain, and a 2D UNET with attention mechanisms\n",
    "in the 2nd and 3rd levels, each with 1 attention head."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "1fb9fd26",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    },
    "lines_to_next_cell": 0
   },
   "outputs": [],
   "source": [
    "device = torch.device(\"cuda\")\n",
    "num_train_timesteps = 1000\n",
    "\n",
    "model = DiffusionModelUNet(\n",
    "    spatial_dims=2,\n",
    "    in_channels=1,\n",
    "    out_channels=1,\n",
    "    channels=(128, 256, 256),\n",
    "    attention_levels=(False, True, True),\n",
    "    num_res_blocks=1,\n",
    "    num_head_channels=256,\n",
    ")\n",
    "model.to(device)\n",
    "\n",
    "scheduler = DDPMScheduler(\n",
    "    prediction_type=\"v_prediction\", num_train_timesteps=num_train_timesteps, beta_start=0.00085, beta_end=0.0120\n",
    ")\n",
    "\n",
    "optimizer = torch.optim.Adam(params=model.parameters(), lr=1.0e-4)\n",
    "\n",
    "inferer = DiffusionInferer(scheduler)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b1833335",
   "metadata": {},
   "source": [
    "### Model training\n",
    "Here, we are training our model for 75 epochs (training time: ~50 minutes)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "890ef804",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    },
    "lines_to_next_cell": 0
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Epoch 0: 100%|████████████| 84/84 [00:31<00:00,  2.68it/s, loss=0.131]\n",
      "Epoch 1: 100%|███████████| 84/84 [00:30<00:00,  2.74it/s, loss=0.0479]\n",
      "Epoch 2: 100%|███████████| 84/84 [00:30<00:00,  2.72it/s, loss=0.0423]\n",
      "Epoch 3: 100%|███████████| 84/84 [00:30<00:00,  2.74it/s, loss=0.0395]\n",
      "Epoch 4: 100%|███████████| 84/84 [00:30<00:00,  2.75it/s, loss=0.0383]\n",
      "...\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Epoch 70: 100%|██████████| 84/84 [00:30<00:00,  2.72it/s, loss=0.0279]\n",
      "Epoch 71: 100%|██████████| 84/84 [00:31<00:00,  2.69it/s, loss=0.0275]\n",
      "Epoch 72: 100%|██████████| 84/84 [00:30<00:00,  2.73it/s, loss=0.0275]\n",
      "Epoch 73: 100%|██████████| 84/84 [00:30<00:00,  2.72it/s, loss=0.0277]\n",
      "Epoch 74: 100%|██████████| 84/84 [00:30<00:00,  2.72it/s, loss=0.0275]\n",
      "100%|██████████| 1000/1000 [00:11<00:00, 84.55it/s]\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 200x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "train completed, total time: 2515.2314007282257.\n"
     ]
    }
   ],
   "source": [
    "max_epochs = 75\n",
    "val_interval = 5\n",
    "epoch_loss_list = []\n",
    "val_epoch_loss_list = []\n",
    "\n",
    "scaler = GradScaler(\"cuda\")\n",
    "total_start = time.time()\n",
    "for epoch in range(max_epochs):\n",
    "    model.train()\n",
    "    epoch_loss = 0\n",
    "    progress_bar = tqdm(enumerate(train_loader), total=len(train_loader), ncols=70)\n",
    "    progress_bar.set_description(f\"Epoch {epoch}\")\n",
    "    for step, batch in progress_bar:\n",
    "        images = batch[\"image\"].to(device)\n",
    "        optimizer.zero_grad(set_to_none=True)\n",
    "\n",
    "        with autocast(device_type=\"cuda\", enabled=True):\n",
    "            # Generate random noise\n",
    "            noise = torch.randn_like(images).to(device)\n",
    "            timesteps = torch.randint(0, num_train_timesteps, (images.shape[0],), device=images.device).long()\n",
    "\n",
    "            # Get target for the v-prediction parameterization\n",
    "            target = inferer.scheduler.get_velocity(images, noise, timesteps)\n",
    "\n",
    "            # Get model prediction\n",
    "            noise_pred = inferer(inputs=images, diffusion_model=model, noise=noise, timesteps=timesteps)\n",
    "\n",
    "            loss = F.mse_loss(noise_pred.float(), target.float())\n",
    "\n",
    "        scaler.scale(loss).backward()\n",
    "        scaler.step(optimizer)\n",
    "        scaler.update()\n",
    "\n",
    "        epoch_loss += loss.item()\n",
    "\n",
    "        progress_bar.set_postfix({\"loss\": epoch_loss / (step + 1)})\n",
    "    epoch_loss_list.append(epoch_loss / (step + 1))\n",
    "\n",
    "    if (epoch + 1) % val_interval == 0:\n",
    "        model.eval()\n",
    "        val_epoch_loss = 0\n",
    "        for step, batch in enumerate(val_loader):\n",
    "            images = batch[\"image\"].to(device)\n",
    "            with torch.no_grad(), autocast(device_type=\"cuda\", enabled=True):\n",
    "                noise = torch.randn_like(images).to(device)\n",
    "                timesteps = torch.randint(0, num_train_timesteps, (images.shape[0],), device=images.device).long()\n",
    "                target = inferer.scheduler.get_velocity(images, noise, timesteps)\n",
    "                noise_pred = inferer(inputs=images, diffusion_model=model, noise=noise, timesteps=timesteps)\n",
    "                val_loss = F.mse_loss(noise_pred.float(), target.float())\n",
    "\n",
    "            val_epoch_loss += val_loss.item()\n",
    "            progress_bar.set_postfix({\"val_loss\": val_epoch_loss / (step + 1)})\n",
    "        val_epoch_loss_list.append(val_epoch_loss / (step + 1))\n",
    "\n",
    "        # Sampling image during training\n",
    "        noise = torch.randn((1, 1, 64, 64))\n",
    "        noise = noise.to(device)\n",
    "        scheduler.set_timesteps(num_inference_steps=1000)\n",
    "        with autocast(device_type=\"cuda\", enabled=True):\n",
    "            image = inferer.sample(input_noise=noise, diffusion_model=model, scheduler=scheduler)\n",
    "\n",
    "        plt.figure(figsize=(2, 2))\n",
    "        plt.imshow(image[0, 0].cpu(), vmin=0, vmax=1, cmap=\"gray\")\n",
    "        plt.tight_layout()\n",
    "        plt.axis(\"off\")\n",
    "        plt.show()\n",
    "\n",
    "total_time = time.time() - total_start\n",
    "print(f\"train completed, total time: {total_time}.\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "693e48c5",
   "metadata": {},
   "source": [
    "### Learning curves"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "b767dbf8",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAAIPCAYAAABuRih6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAACBi0lEQVR4nO3dd3iT5f4/8HfyZHSke9GWvQoyylYQHDjYigriYIkITly/g8DxePy6zjmKHlBUHAiIgyXIBpV1kCmzjDIKFOjeIx2Zz++PNGlC0tKnSUfK+3Vdvdo+I7nzaZV37n6e+5GJoiiCiIiIiIgAAPKGHgARERERUWPCgExEREREZIcBmYiIiIjIDgMyEREREZEdBmQiIiIiIjsMyEREREREdhiQiYiIiIjsMCATEREREdlhQCYiIiIissOATETUCE2YMAFxcXGYMGFCQw+FiOimo2joARBR03bw4EFMnDgRAPDiiy/ipZdeauARUWNw8eJFbNmyBfv370dKSgry8/MhCAKCg4MRFxeHW2+9FSNHjkRERERDD5WIbkIMyEREVG8KCgrwwQcfYMOGDTCbzU77S0tLkZaWhp07d2Lu3LkYM2YMXn31VQQHB9f/YInopsWATETUCC1btqyhh+Bx165dw9SpU5GcnAwACAsLw8iRI9G3b19ERERAJpMhKysLBw8exG+//YbMzEwsX74cgwYNwr333tuwgyeimwoDMhER1bmysjI8++yztnA8ZswYzJ49GxqNxunY++67DzNnzsTy5cvx3//+t55HSkTEgExERPXg448/RlJSEgBg7NixeO+996o9XqVSYeLEiejfvz90Ol19DJGIyIYBmYi8woEDB7B27VocPnwYOTk5EAQBsbGxGDhwICZPnoyoqKgqzz1//jz++OMPHDlyBBcuXEBeXh6USiUiIiLQs2dPPP744+jRo0eV53/22WdYsGABAODcuXMoLi7G999/j99//x0pKSkoLi7Gv/71Lzz88MNOx+p0OixbtgybNm2yzZ62a9cOo0ePxmOPPQaFwvX/hidMmIBDhw6hX79+Tu0WKSkpuOeeewDA9rx79+7FsmXLcPLkSRQWFiIyMhKDBg3Cc889h2bNmlVb2/z8fHzzzTfYvn070tPTodFoEBcXhyeeeAL33Xcf1qxZg9mzZwMAtm/fjubNm1f7eNfLy8vDqlWrAAAR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7XbXq1atwptvvlnt6h0GgwE//PADxo4di4yMDId9/fr1czjG1blvvvmm00VunhAREWELops2bcKGDRtsfevVBeSJEyfaltybPXu2wyoiruzatcthycGCggLs2LGj2h75vXv32r6+0bJ1RFQ99iATUb1JTEysMqjau+222xATE4PHH38c+/btw++//46tW7fizJkzGDduHLp3746AgABotVpcunQJhw4dwo4dO6BSqTB+/Hjb49xyyy3o2LEjzp8/jxUrVqCoqAgPPvggIiIikJGRgfXr12Pbtm3o1auXx//07Q1efPFFbN261Tare/r0aYwaNQqhoaG4cuUKvv/+exw7dgzdu3dHQkICALi8IUlN+Pn54auvvsLUqVORnJyMVatWYceOHRg1ahT69u2LyMhIiKKI7Oxs/PXXX/jtt9+Qlpbm8rHuvPNOxMbGIjU1FfPnz0d+fj7uu+8+qNVq2+3Dz5w5gx49etxwXezaGDVqFPbu3Yv09HR8/fXXACxL4VXXxx0eHo7//Oc/mDFjBrKzs/HII4/goYcewh133IFmzZrBaDQiIyMDCQkJ2LZtG65du4aFCxeiU6dOACxvAJ977jnExsbi/vvvR/fu3REbGwtBEJCdnY2dO3di1apVAICoqKhGeUtvIm/CgExE9Wb79u01mq39/PPPERMTA5lMhv/+9794//33sXz5cly9ehUfffRRleddvxyZTCbDhx9+iEmTJqGwsBBbtmxxuslDx44dMX/+fAwaNKh2L8qLBQcH49tvv8VTTz2FvLw8rFu3zunubQ8//DB69+5tC8ju3FWvRYsWWLFiBT744ANs2LABubm5WLJkCZYsWeLyeKVSiccee8zpboQqlQoffvghnnnmGZSWljo9hiAImDNnDgoLC+skIN933314++23UV5ebuuDrskNZO6//3588cUXmD17NgoKCrB8+fIq23vkcrnLJfxSU1OxePHiKp8jIiICX3zxha1Pm4hqhwGZiBo1pVKJt99+G48//jhWrVqFgwcPIj09HaWlpfDz80Pz5s3RpUsX3HHHHbj77rudzu/cuTN+/fVXfPXVV9izZw+ysrLg7++Pli1bYtiwYXjyySfdvpWyN+vUqRM2bdqEb775Bjt27EBaWhr8/f3RsWNHPProoxg5cqRD+LT2LddWcHAwPvzwQ0yfPh2bN2/G/v37kZKSgvz8fAiCgJCQEMTFxeG2227DqFGjnJbts+rTpw9++eUXLFy4EPv370d+fj6Cg4PRq1cvTJ48Gb169cJnn33m1lirotFocPfdd9vebAmCgBEjRtTo3MGDB2P79u1YuXIldu/ejaSkJBQWFkIQBISHh6NDhw647bbbMGTIEERHR9vOi42NxapVq/C///0Px44dQ2pqKnJzc1FaWoqAgAC0b98ed999N8aNGweNRlMnr5voZiITb7ToJxER3dT+/ve/Y/Xq1WjWrBl2797d0MMhIqpzvEiPiIiqVF5ebmuLaWw3+CAiqisMyEREN7GrV69WuTKCyWTC22+/bVsy7KGHHqrPoRERNRj2IBMR3cS++OILJCQkYPjw4YiPj0dYWBjKy8tx7tw5rFq1ynYTkQEDBnBlBCK6aTAgExHd5C5evFjtBW29evXCJ598Uusl3oiIvA0v0iMiuoldunQJv/32G/bt24fU1FTk5eXBaDQiODgYXbt2xfDhwzFixAjI5ezII6KbBwMyEREREZEdTgkQEREREdlhD7KHZGcXe/Tx5HIZQkP9kZdXArOZk/w3wnpJw3pJw3pJx5pJw3pJw3pJw3pVioio2c2OOIPcSMnlMshkMsjlvCimJlgvaVgvaVgv6VgzaVgvaVgvaVgv6RiQiYiIiIjsMCATEREREdlhQCYiIiIissOATERERERkhwGZiIiIiMgOAzIRERERkR0GZCIiIiIiOwzIRERERER2GJCJiIiIiOwwIBMRERER2WFAJiIiIiKyw4BMRERERGSHAZmIiIiIyA4DMhERERGRHQZkIiIiIiI7DMhERERERHYYkL3QnoQ0vLXoEA6fzWrooRAREVEdGziwD158cVpDD+OmomjoAZB06/+8jNwiHTbuS0afTpENPRwiIqImb+DAPpKO//PPw3U0EqoPDMheyGASAQClOmMDj4SIiOjm8NRTzzhtW7XqZ2i1Wpf7POnHH1dDrfap0+cgRwzIXkghyAAABpO5gUdCRER0c3j66elO27Zs2QitVutynye1atW6Th+fnDEgeyGF3NI6bqqYSSYiIqLGIT09DWPHPoBhw0biyScn4auvPseJE8dQVFSIVavWIzo6Brt378SOHb/j7NkzyMnJhkKhQLt2HfDoo4/jrrvucXrMgQP7oEePXliw4GvbtvfffxtbtmzEypXrsHfvHqxduwrp6WkIDQ3DiBEPYPLkqZDLealZbTEgeyGFwvILb+QMMhERUaOUknIN06dPRtu27TFs2EgUFRVCqVQCAL76agGUSiW6d++BsLBwFBTk488//4c333wDr7zy/zBmzGM1fp4vvpiP48ePYsCAQejXrz/27NmF7777GgaDAdOnv1A3L+4mwIDshRRyS4sFAzIREVHjdPLkCTz11DMu2y8++mg+YmObO2wrLS3Fc89NwbffLsTIkaPh41OznuNz585hyZLlCA8PBwBMnjwVjz32EH75ZSWmTJlmC+UkDQOyFxIE6wyyCFEUIZPJGnhEREREwF9ns/Drnkso15vq/LnkchnMZmmthj4qAQ8NalsvK0CFhYVh4sQpLvddH44BwM/PD8OGjcSCBfOQmHgaPXv2rtHzTJ78tC0cA0BwcDAGDboTW7ZsxNWrV9CuXfvavYCbHAOyF7JepAcAJrPo8D0REVFD2XrwCtJzSxt6GNXacvBqvQTkdu06Vjl7m5+fhx9+WIIDB/YhIyMdOp3OYX9OTnaNnycurrPTtogIy+vTaosljJjsMSB7IYVQ2XRvNJkdviciImoow25thbWNfAZ52K0t62hEjkJDQ11uLyoqxNSpE5GZmYFu3eLRp08/aDQBkMvlSEo6jz17dsNgMNT4efz9/Z22CYIAADCZ6v7n0FQxIHshx4DMlSyIiKhx6NMpsl5mZxUKOUJC/JGfXwKjsXFej1NV++PGjeuQmZmBqVOfxeTJUx32LVu2BHv27K6P4dENcOrRCzm0WPBCPSIiIq+RmpoCABg06C6nfQkJx+p5NFQVBmQvZD+DzJuFEBEReY9mzaIBAAkJxx22//bbVuzfv7cBRkSusMXCCznOILPFgoiIyFsMGTIcP/64FPPmfYSjRw+jWbNoJCWdx5Ejf+HOO+/G7t07G3qIBM4geyXhuov0iIiIyDtERkbhs8++Ru/efXH48CGsW7cGBoMBn3yyALfffkdDD48qyERR5BSkB2Rne3YpleouQFi27Rx2HksFAPxzcl+0ahbg0ef2Rt5wwUZjwnpJw3pJx5pJw3pJw3pJw3pVioioWWbiDLIXEuxaLDiDTERERORZDMhe6Pp1kImIiIjIcxiQvZBDQJa4SDoRERERVY8B2QvZr2Jxs/cSEREREXkaA7IX4p30iIiIiOoOA7IXsg/IJjNnkImIiIg8iQHZC9m3WBjYYkFERETkUQzIXshxBpktFkRERESexIDshRRcB5mIiIiozjAgeyGHi/TYYkFERETkUQzIXkiQcx1kIiIiorrCgOyF2GJBREREVHcYkL2QQsFbTRMRERHVFQZkL6SQ288gs8WCiIioKdi8eQMGDuyDzZs3OGwfM2YUxowZ5fbjeNKiRV9h4MA+OHr0cJ09R0NiQPZCjnfS4wwyERFRfXj77b9j4MA++P33rdUeV1KixT333I6hQ++CTldeT6PzrKNHD2PgwD5YtOirhh5Kg1A09ABIOod1kDmDTEREVC9GjnwQf/yxDZs2rcd99w2t8rjff98GnU6HYcNGQq32cft558//0u3H8LRHHhmHe+8dgqioZg09lDrBgOyFHO6kxxlkIiKietG7d19ER8fi6NHDyMjIQLNmrsPhpk3rAVgCtSfExjb3yON4UnBwMIKDgxt6GHWGAdkLOc4gMyATERHVB5lMhhEjRuHbbxdi8+b1mDJlmtMxly5dRGLiabRr1wHNm7fEDz8swYED+3Dt2lUUFhYgKCgYffr0w5Qp02ocfK39x6tXO/YUFxUV4quvPsf//rcLpaUlaNOmHSZMeKrKx9mw4Vfs3r0LSUkXkJeXC7XaB50734Lx4yejV68+tuMWLfoKixd/AwBYvPgb29cAsGrVekRHx9iO+fTThQ7nAsCff/4PK1b8iPPnz8JgMKJFi5YYNmwExox5DApFZfRMT0/D2LEPYNiwkZg06Wl8/vl8HDt2BEajAV26dMeLL76CDh061qhGnsYeZC/k2IPMFgsiIqL6MmzYSMjlcmzZshGi6PxvsPXCuJEjH0Ry8mUsWvQVVCo17rjjbjz66OPo1Kkz/vhjG555ZhIyMtJrPY7y8nK89NJ0rFu3BrGxzTF27ONo2bIV/vnP2di1a7vLc+bO/Q/y8vLQp08/PProExgwYCBOnTqJV155Hnv27LId17NnbwwbNhIA0KNHLzz11DO2D40moNpxLV/+A2bNeg0XLybhvvuG4uGHx0Kn02HBgnn4xz9muaxZenoapk+fjOLiIowY8QD69r0VR44cwowZzyIvL7e2JXILZ5C9ENdBJiIiahhRUc3Qt+9tOHhwH44c+Qt9+vSz7TMajfjtty1QqVQYMmQY5HIB69ZtRWBgkMNjHD16GK+88jyWLl2EN954s1bj+PHHpbh4MQmjRj2EN974u237kCHD8frrL7k85+efVyMyMtphW05ODqZOnYDPP/8UgwbdBQC2GeEtWzaiZ8/eePrp6TUaU2pqCr788jOEhITi22+/t/UnT5v2vC2Eb9u2GUOHjnA47/jxo3j22Rcxfvxk27ZvvvkSS5cuwqZNGzBhwmTUt0YbkPV6PebPn49169ahqKgIcXFxeOWVV3D77bdXe96lS5ewfPlyJCQk4PTp09Dr9di+fTuaN3f8M0Z+fj5++eUX7Ny5ExcvXoTRaETbtm0xefJkDB8+vC5fmtsEziATEVEjdDQrARsv/QadSVfnzyWXy2CWeDdZtaDGyLb3o1dkd7eee+TIB3Dw4D5s2rTeISDv2/cn8vJyMXjwfU6h2F6vXn3Qpk1bHD58qNZj2Lp1M5RKJaZOdQyvt97aH71798ORI86PHRMTC6PRcWItPDwcd901GKtXr0BGRjqaNYt2Oq+mfv99K0wmEx577EmHi/dUKhWee+4lPPfc09iyZaNTQI6OjsUTT0x02DZy5INYunQRzp49XevxuKPRBuRZs2Zh27ZtmDhxIlq3bo21a9di2rRpWLp0Kfr06VPlecePH8eyZcvQvn17tGvXDomJiVUeN2/ePNxxxx147rnnoFAosG3bNrz66qtISkrCjBkz6uqluU3JZd6IiKgR+uPKbmSWZjX0MKr1x9XdbgfkQYPuQnBwCP73v53QarXQaDQAgE2b1gFwvDjv6NHDWLXqZ5w5cwoFBQUwmUy2fUqlslbPX1KiRXp6Klq3bouwsHCn/fHxPVwG5NTUFCxZ8h2OHPkLOTnZ0Ov1DvtzcrLdCsjnz58DYGnRuF7Xrt2hUqlx4cJ5p30dOnSEXO7Y9RsREQkA0Gq1tR6POxplQE5ISMCmTZswc+ZMPP300wCA0aNHY+TIkZg7dy6WL19e5bmDBw/GX3/9BY1Gg0WLFlUZkNu3b49t27YhNjbWtu2JJ57A5MmT8c0332Dq1Knw8/Pz7AvzEIEtFkRE1Ajd2+rORj+DfG/LO91+boVCgSFDhmPFih/x++9b8dBDY5Cbm4MDB/YhKqqZbVZ5x44/8M9/zoavrx/69bsN0dEx8PGxLPu2ZcvGWvcgl5SUAABCQkJc7g8NDXXaduXKFTz11HiUlJSgZ8/euP32O+Dv7w+ZTIZjx47g+PGjToG5tuMKDQ1z2ieTyRAaGorsbOc3UP7+/k7brBfz2b+hqE+NMiBv3boVgiBg3Lhxtm1qtRpjxozBJ598gvT0dERHu36HU9MlR1q0aOG0TSaT4d5778WBAwdw7do1xMXF1Wr8dU3gnfSIiKgR6hXZ3e3Z2ZpQKOQICfFHfn6JU8tAfRk58kGsWPEjNm5ch4ceGoNt2zbDZDJh+PBRttnQ7777GiqVCosWLUOLFi0dzt++/bdaP7c1UObn57vcn5eX57RtyZIlKCoqwj/+8Q6GDHFsJf3oow9w/PjRWo/n+nHl5eU6zUSLooi8vDz4+2vcfp760ChXsUhMTETr1q1tf7Kw6t69u21/XcnJyQFQ9buyxkAmk9lWsuAyb0RERPWvTZu26NKlG86dS0RS0gVs3ryhYhm4B2zHpKWloFWrNk7hOCcnB2lpqbV+bn9/DaKjY5Gaeg25uTlO+0+cOO607erVqwCAQYMcZ9BFUcTJkyecjhcEAQBgNtc8Z3TsaJlYPHbsiNO+06dPQa/XNdiybVI1yhnk7OxsREREOG23bsvKqpv+poKCAqxatQp9+vRBZGSkpHPlchnkdjO77rJeiGd/QZ49hSCD0QQYzSIUikb5Pqde3ahe5Ij1kob1ko41k4b1kqax1OuBB0bj9OmT+OST/yA5+TL69bsNzZtXtm42axaN1NQUFBbmIyzM0nag0+nwySf/htFoBACHf8OtOUIul7n8t91+2/Dhw7Fo0Tf47ruvMHv2P2zbDx7cb+s/tj6OIMhtLaWnTiVgwIDKBQ+WLv0Oly5dBGCpp/U5QkKCAQDZ2Vkux2Idq/05Q4cOw+LF32LFip8wfPhIW24zGAz46qvPAAAjR46yHW/9+clkrl/vjfbVpUYZkMvLy6FSqZy2q9Vq235PM5vN+H//7/9V/PnhHzc+4TqhoZY+Hk8LDPR1uV2pEFCuN0EUgZAQ596dm1VV9SLXWC9pWC/pWDNpWC9pGrpeY8aMxvz5HyMh4TgA4PHHxzn8mzxp0kS8++67mDz5CQwdOhRGoxH79u2DKIro1KkTzp4963C8v7/a9tl+uzVI2m978cXnsWfPbqxbtxZXryajb9++SE9Px9atW3HXXXdh165dDo/z2GOPYc2aNZgz528YNmwYgoODcfz4cZw5c8Z2fECAj+34Hj26IDIyEn/8sQ0BAX6IioqCTCbDhAkTEBAQAF9fS06zPyckpBP+9rf/h3//+9+YMGEchg0bBl9fX+zcuROXL1/GPffcg8cff9SWl0pKLD8/tVpRZZZRKoUGyTmNMiD7+Pi4bBTX6XS2/Z727rvvYs+ePfjPf/6DTp06ST4/L6/E4zPIgYG+KCoqc9lGYX3TrDMYkZ9f4rHn9VY3qhc5Yr2kYb2kY82kYb2kaTz1kmHw4HuxceN6BAYGoXfv/g7/Jg8fPhp6vQmrVq3AypUrodEEYMCAgXj++ZcwZ85MAHA4vqREZ/tsv936Gq//9/6zz77Cl19+ht27d+LMmTNo06Yt3n33X9Bqtdi1a5ftcQRBjltuuQWfffYFvvjic2zb9hsEQY5u3eLx1VffYc+e3di1axeKi8sdnuODDz7C559/ig0bNqK01LL9zjvvQ0yMHGVllpx2/TmjRz+K0NAo/PzzD1i3bj2MRgNatGiJGTNew6OPPoaCglLbsYWFZQAAna7qLGMwmDyac2oatmWiq1uaNLCnnnoKmZmZ2Lx5s8P2/fv3Y/Lkyfjyyy8xePDgGz7OokWL8OGHH7pcB9neggUL8Nlnn+H111/HtGnOt42siezs4lqdV5UbXYAw88t9yCksR6CfEvNmDPLoc3ujxnDBhjdhvaRhvaRjzaRhvaRhvaRhvSpFRFR/J0CrRtns1KlTJyQnJzutfXfihKWJvHPnzh57rh9//BGfffYZJk2aVOtw3BCsf27hKhZEREREntUoA/LQoUNhMpmwYsUK2za9Xo81a9YgPj7etsRbWloaLl68WOvn2bx5M9577z2MGjUKs2fPdnvc9cl6u2mjhKtLiYiIiOjGGmUPcnx8PIYOHYpPPvkEubm5aNWqFdauXYvU1FS8//77tuPeeOMNHDp0COfOnbNtKy4uxrJlywAAR49a1vT78ccfERAQgMDAQIwfPx6A5WYkM2fORHBwMPr374/169c7jKFXr14u10puLKzLvBmNnEEmIiIi8qRGGZAB4MMPP8S8efOwfv16FBYWIi4uDgsXLkTfvn2rPa+wsBDz58932Pbdd98BAGJjY20BOSkpCQaDAXl5eZgzZ47T4/zrX/9q5AHZMoNsFkWYzaJHLxAkIiIiupk1yov0vFF9X6T3nx+P4ty1AgDAV//vTigVgkef39vwAgRpWC9pWC/pWDNpWC9pWC9pWK9KXn2RHt2Y/aLZvFCPiIiIyHMYkL2Uwq6lwsA1M4mIiIg8hgHZSynsbq9p4gwyERERkccwIHspxxYLziATEREReQoDspeyb7FgQCYiIiLyHAZkLyUIvEiPiIiIqC4wIHsppcAWCyIiIqK6wIDspQSBLRZEREREdYEB2Usp2GJBREREVCcYkL2Uwm4G2cQZZCIiIiKPYUD2UvYzyLxRCBEREZHnMCB7Kd4ohIiIiKhuMCB7KV6kR0RERFQ3GJC9lJItFkRERER1ggHZSwkOF+mxxYKIiIjIUxiQvZSCNwohIiIiqhMMyF5KyXWQiYiIiOoEA7KX4kV6RERERHWDAdlLscWCiIiIqG4wIHsph3WQzWyxICIiIvIUBmQvZX+raYORM8hEREREnsKA7KV4Jz0iIiKiusGA7KUcepDNnEEmIiIi8hQGZC9l32JhZIsFERERkccwIHspwWEGmS0WRERERJ7CgOylFHKug0xERERUFxiQvZRCYTeDzBYLIiIiIo9hQPZSCjlbLIiIiIjqAgOyl7K/SM/EFgsiIiIij2FA9lL2y7wZGJCJiIiIPIYB2UvJ5TLIZZZZZCNvFEJERETkMQzIXszaZsEWCyIiIiLPYUD2YtY2CwNnkImIiIg8hgHZi3EGmYiIiMjzGJC9mPVuerxRCBEREZHnMCB7MaUtILPFgoiIiMhTGJC9mCBYV7HgDDIRERGRpzAgezEFZ5CJiIiIPI4B2YtZA7LJZIYoMiQTEREReQIDshezrmIhAjCZGZCJiIiIPIEB2YvZ327axDYLIiIiIo9gQPZi1ov0AMBo5oV6RERERJ7AgOzFlHYzyEYjAzIRERGRJzAgezHBPiCzxYKIiIjIIxiQvZiCLRZEREREHseA7MUUbLEgIiIi8jgGZC+mYIsFERERkccxIHsxhZwtFkRERESexoDsxRQKtlgQEREReRoDshdzvEiPLRZEREREnsCA7MUUcvs76XEGmYiIiMgTGJC9mH2LhcHIGWQiIiIiT2BA9mL2F+mZeJEeERERkUcwIHsxxzvpMSATEREReQIDshdTKrgOMhEREZGnMSB7McF+HWTOIBMRERF5BAOyF+Od9IiIiIg8jwHZi9kHZC7zRkREROQZDMhezP5GIQYGZCIiIiKPYED2YmyxICIiIvI8BmQvZj+DzBYLIiIiIs9otAFZr9fjo48+wsCBA9G9e3eMHTsWe/fuveF5ly5dwgcffIDHHnsM3bp1Q1xcHFJSUqo8fvv27XjooYfQrVs33HXXXfj0009hNBo9+VLqjP0MMlssiIiIiDyj0QbkWbNmYcmSJRg1ahT+/ve/QxAETJs2DYcPH672vOPHj2PZsmUoKSlBu3btqj129+7deOGFFxAQEIB//OMfuPfee/Hll1/i3Xff9eRLqTOOF+mxxYKIiIjIExQNPQBXEhISsGnTJsycORNPP/00AGD06NEYOXIk5s6di+XLl1d57uDBg/HXX39Bo9Fg0aJFSExMrPLYDz/8EHFxcfjuu++gUFhK4e/vj6+++goTJ068YcBuaILAdZCJiIiIPK1RziBv3boVgiBg3Lhxtm1qtRpjxozBsWPHkJ6eXuW5wcHB0Gg0N3yOpKQkJCUl4dFHH7WFYwB44oknIIoitm3b5t6LqAdK3mqaiIiIyOMaZUBOTExE69atnYJu9+7dbfvddebMGQBAt27dHLZHRUWhWbNmHnmOuuY4g8wWCyIiIiJPaJQtFtnZ2YiIiHDabt2WlZXlkeewf8zrn0fqc8jlMsjtbv3sLqFidlgQqn4P46Oq/PGZRREKRaN8v1MvalIvqsR6ScN6SceaScN6ScN6ScN6SdcoA3J5eTlUKpXTdrVabdvviecAUOXzaLVaSY8XGuoPmcxzAdkqMNC3yn0KtbLyG5kMISH+Hn9+b1NdvcgZ6yUN6yUdayYN6yUN6yUN61VzjTIg+/j4QK/XO23X6XS2/Z54DgBVPo/U58jLK/H4DHJgoC+KisqqXOO4XF+5HF1ZuRH5+SUee35vU5N6USXWSxrWSzrWTBrWSxrWSxrWq1JNJxMbZUCOiIhAZmam03ZrW0RkZKRHnsP6mNHR0U7PY+13rimzWYTZ7Pk+YJPJDKOxil9mu6czGk1VH3cTqbZe5IT1kob1ko41k4b1kob1kob1qrlG2YzSqVMnJCcnO7U5nDhxAgDQuXNnt5/D+hgnT5502J6ZmYmMjAx06tTJ7eeoa4LdjLWBF+kREREReUSjDMhDhw6FyWTCihUrbNv0ej3WrFmD+Ph424xvWloaLl68WKvn6NChA9q2bYuVK1fCZDLZtv/888+QyWQYOnSoey+iHshkMtvtpm/2P5kQEREReUqjbLGIj4/H0KFD8cknnyA3NxetWrXC2rVrkZqaivfff9923BtvvIFDhw7h3Llztm3FxcVYtmwZAODo0aMAgB9//BEBAQEIDAzE+PHjbcfOnDkTzz33HKZMmYIRI0bg/Pnz+PHHHzF27NhGf5MQK0GQw2gywVgH7R1EREREN6NGGZABy13u5s2bh/Xr16OwsBBxcXFYuHAh+vbtW+15hYWFmD9/vsO27777DgAQGxvrEJDvvvtuLFiwAAsWLMC7776L0NBQTJ8+HS+88ILnX1AdUQpy6GDijUKIiIiIPEQmiiKnHj0gO7vYo4+nUMgREuKP/PySahvqX13wJwq1eoQGqjH3+ds9OgZvUtN6kQXrJQ3rJR1rJg3rJQ3rJQ3rVSkiIqBGxzXKHmSqOYXc8iPknfSIiIiIPIMB2cvxIj0iIiIiz2JA9nLW20sbGJCJiIiIPIIB2ctZWyxMbLEgIiIi8ggGZC9na7EwizDzeksiIiIitzEgezmFUPkjZB8yERERkfsYkL2cdQYZ4EoWRERERJ7AgOzlBLsZZN4shIiIiMh9DMheTukQkDmDTEREROQuBmQvJzi0WHAGmYiIiMhdDMheTsEWCyIiIiKPYkD2cgq2WBARERF5FAOyl1OwxYKIiIjIoxiQvZzjOsicQSYiIiJyFwOyl2MPMhEREZFnMSB7ObZYEBEREXkWA7KXE3iRHhEREZFHMSB7Oc4gExEREXkWA7KXYw8yERERkWcxIHs5roNMRERE5FkMyF5OIbdrsTBzBpmIiIjIXQzIXk6hsJtBNjIgExEREbmLAdnLscWCiIiIyLMYkL2cfYuFiS0WRERERG5jQPZy9i0WBrZYEBEREbmNAdnLOc4gs8WCiIiIyF0MyF5O4DrIRERERB7FgOzllA6rWHAGmYiIiMhdDMheTuA6yEREREQexYDs5XiraSIiIiLPYkD2cg43CuE6yERERERuY0D2cg63muYMMhEREZHbGJC9nH2LhYkzyERERERuY0D2cgqBM8hEREREnsSA7OV4kR4RERGRZzEgeznHgMwWCyIiIiJ3MSB7OblcBllFlwVnkImIiIjcx4DcBCgrZpEZkImIiIjcx4DcBAi2gMwWCyIiIiJ3MSA3AdaVLDiDTEREROQ+BuQmQMEWCyIiIiKPYUBuAipnkNliQUREROQuBuQmwDqDbDJzBpmIiIjIXQzITYA1IBuMnEEmIiIichcDchNgbbEwmcwQRYZkIiIiIncwIDcB1mXeRABmBmQiIiIitzAgNwFK+9tNs82CiIiIyC0MyE2AUNFiAQBGXqhHRERE5BYG5CZAIbebQeZSb0RERERuYUBuAhQK+xYLziATERERuUPhzskmkwllZWXw8fGBQlH5UOXl5fj222+RmJiI2NhYPP3004iKinJ7sOSagi0WRERERB7jVkD+/PPP8eWXX2LZsmXo06cPAEAURUyYMAGnTp2CKIqQyWT4/fff8euvvyIoKMgjgyZHbLEgIiIi8hy3Wiz279+P8PBwWzgGgB07duDkyZNo1aoV5syZg9tvvx0ZGRlYuXKl24Ml1+xnkE0mziATERERucOtgJySkoK2bds6bNu+fTtkMhnmzp2LiRMnYuHChQgNDcW2bdvcGihVTWG3zJuBAZmIiIjILW4F5IKCAoSHhztsO3r0KKKiotC1a1cAgEKhQHx8PNLT0915KqqGfUA2scWCiIiIyC1uBWSFQoGysjLb94WFhbhy5Qp69erlcJy/vz+Ki4vdeSqqhsM6yJxBJiIiInKLWwG5efPmOHHiBMwVKyfs3LkToiiid+/eDsfl5eUhNDTUnaeiajjcSY8BmYiIiMgtbgXkwYMHIzc3F88//zyWLl2KuXPnQhAE3H333bZjRFHEmTNn0Lx5c7cHS645ziCzxYKIiIjIHW4t8/bMM89gx44d2LVrF3bt2gUAmDZtGmJiYmzHHDlyBPn5+U6zyuQ5Cs4gExEREXmMWwFZo9Fg1apV2Lp1K3Jzc9GtWzf069fP4ZiCggJMnDgRw4YNc2ugVDUGZCIiIiLPcSsgA4CPjw9Gjx5d5f57770X9957r+TH1ev1mD9/PtatW4eioiLExcXhlVdewe23337DczMzM/HBBx9g7969MJvNuPXWWzFnzhy0aNHC4bji4mJ8+eWX+OOPP5CRkYGwsDD0798fL774osMseGOnYIsFERERkce4HZCrU1xcDI1GA5lMduODrzNr1ixs27YNEydOROvWrbF27VpMmzYNS5cudbgxyfVKSkowceJEFBcXY/r06VAqlViyZAnGjx+PX3/9FSEhIQAAs9mMp556ChcvXsTjjz+ONm3a4MqVK/jpp5/w559/YvPmzdBoNLV+7fXJcZk3ziATERERucOtgHz+/HkcOHAAgwYNQps2bWzbDxw4gDlz5iA9PR1BQUGYOXMmHn744Ro/bkJCAjZt2oSZM2fi6aefBgCMHj0aI0eOxNy5c7F8+fIqz/3pp5+QnJyMVatWoXv37gCAQYMGYdSoUVi8eDFee+01AMDx48dx8uRJvPXWW3jyySdt57dp0wZz5szB/v37cd9990mqR0NxvFEIZ5CJiIiI3OHWKhbLli3Dv//9b/j4+Ni25efn44UXXkBaWhpEUURBQQHefPNNnDlzpsaPu3XrVgiCgHHjxtm2qdVqjBkzBseOHav2piPbtm1Dt27dbOEYANq1a4f+/ftjy5Yttm1arRYAEBYW5nB+RESE7fm8BW81TUREROQ5bgXko0ePon379oiOjrZtW7duHUpKSjBu3DgcPnwY//nPf2A2m7Fs2bIaP25iYiJat27t1OJgDb2JiYkuzzObzTh37pztLn72unXrhqtXr9qCcdeuXeHn54f58+dj//79yMzMxKFDh/DRRx+hW7duGDBgQI3H29AEXqRHRERE5DFutVjk5OSgZ8+eDtv27dsHQRDwyiuvQKPR4MEHH8TSpUtx/PjxGj9udna2bSbXnnVbVlaWy/MKCgqg1+tveK5Go0FoaCj++9//4s0338TkyZNtxw0cOBCffvopFApppZHLZZDLpfdaV8Uaeu3Db1V8VILta5MIKBRuve/xSlLqRayXVKyXdKyZNKyXNKyXNKyXdG4F5JKSEqdZ3hMnTqBTp062i+EAoFWrVti9e3eNH7e8vBwqlcppu7Xtoby83OV5Op0OAKo913oMAISGhuKWW25Br1690L59e5w9exbffvstZs+ejU8//bTG47U8ln+tLka8kcBA3xseExxcebtvpVJASIi/x8fhLWpSL6rEeknDeknHmknDeknDeknDetWcWwHZ398fmZmZtu8vXryIwsJCjBo1yulYKeHRx8cHer3eabs13Nr3PNuzhuDqzrUec+3aNUycOBH/+c9/MGTIEACWJeliY2Mxa9Ys7N69G3feeWeNx5yXV+LxGeTAQF8UFZXdsK+4rLQy9GtLdMjPL/HYOLyFlHoR6yUV6yUdayYN6yUN6yUN61WpppOIbgXkzp074/Dhw7hy5QpatWqF1atXQyaTOd0sJCUlxWXbQ1UiIiIcgrdVdnY2ACAyMtLlecHBwVCpVLbjqjt3zZo10Ol0DrfFBiy3zwYs/dVSArLZLMJs9vwKEiaTGUZj9b/M9rFcb7zx8U1ZTepFlVgvaVgv6VgzaVgvaVgvaVivmnOrGWXcuHEwGo14+OGHMXr0aCxZsgRhYWG46667bMdotVokJiaiY8eONX7cTp06ITk52XZBndWJEycAWIK5K3K5HB07dsSpU6ec9iUkJKBFixa2lpDc3FyIogiTyeRwnNFoBACn7Y2Zw530+ItPRERE5Ba3AvKwYcPw4osvwmQy4ezZs4iJicG8efMceoC3bNkCo9GIvn371vhxhw4dCpPJhBUrVti26fV6rFmzBvHx8bZVM9LS0nDx4kWHc4cMGYKTJ0/i5MmTtm2XLl3CgQMHMHToUNu21q1bQxRFh6XfAGDjxo0AgFtuuaXG421ojrea5jrIRERERO6QiaLodqLS6/XQarUIDQ112peWloaioiK0aNEC/v41v3js5Zdfxh9//IFJkyahVatWWLt2LU6ePIklS5bYwvaECRNw6NAhnDt3znaeVqvFQw89hJKSEkyZMgUKhQJLliyByWTCunXrbGPMz8/HqFGjUFBQgMceewwdOnTA6dOnsXr1arRt2xZr1qxxebFfVbKzi2t8bE0oFHKEhPgjP7/khrPCOQVlmLlwPwCgX+dIPPug8zJ3TZ2UehHrJRXrJR1rJg3rJQ3rJQ3rVSkiIqBGx3nkVtMqlcplOAaAmJgYxMTESH7MDz/8EPPmzcP69etRWFiIuLg4LFy48IYz0RqNBsuWLcMHH3yAL7/8EmazGbfeeitmz57tMMaQkBD88ssvmD9/Pnbu3Inly5cjODgYjzzyCF599VVJ4bih2S/rZrjJf/GJiIiI3OWRGWTAMot8+vRp28V1UVFR6NKli1cFTXc05AyytsyAGfP3AAC6twvDK2PjPToWb8B3x9KwXtKwXtKxZtKwXtKwXtKwXpXqbQbZaDRiwYIF+OGHH1BS4ri8mL+/PyZMmIAXXnhB8o03qOYEu+XleCc9IiIiIve4lVrNZjOee+45/PnnnxBFEUFBQYiNjQUApKamorCwEAsXLsTp06excOFCyOW8g0tdUCq4igURERGRp7gVkFetWoU9e/YgNjYWb7zxBu6//36H/b///jv+/e9/Y8+ePVi9ejUeffRRtwZLrjnMINfBWsxERERENxO3pnR//fVX+Pj4YOnSpU7hGADuu+8+LFmyBCqVCmvXrnXnqagaMpnMFpLZYkFERETkHrcC8oULF9CvXz80b968ymNatGiB2267DRcuXHDnqegGrCtZcB1kIiIiIve4FZD1ej0CAm58NaC/vz/0er07T0U3oOAMMhEREZFHuBWQo6OjcezYsWpvy2wymXD8+HE0a9bMnaeiG7DeTc/EgExERETkFrcC8sCBA5Geno73338fBoPBab9er8d7772H9PR03HHHHe48Fd2ANSAb2GJBRERE5Ba3VrGYNm0aNm7ciJ9//hnbt2/H8OHDbf3IKSkp2Lx5M7KyshAUFIRnnnnGIwMm1xSCpcWCM8hERERE7nErIEdFReGbb77BK6+8grS0NCxZssRhvyiKiImJwaeffoqoqCh3nopuwDqDzIv0iIiIiNzj9u3tunfvjq1bt2Lr1q04dOiQw62m+/Xrh6FDh+LixYv466+/0LdvX7cHTK4JAi/SIyIiIvIEj9z/WaVS4YEHHsADDzzgcv/bb7+NkydP4syZM554OnJBab1IzyzCLIqQy2Q3OIOIiIiIXKm3ez+LIv/0X5cEofJHaWKbBREREVGt1VtAprplvUgPYJsFERERkTsYkJsIhd0MMgMyERERUe0xIDcRjgGZLRZEREREtcWA3ETYt1hwLWQiIiKi2mNAbiLsZ5ANDMhEREREtSZpmbdff/21Vk+Sl5dXq/Oo5hxnkNliQURERFRbkgLyrFmzIKvF+rqiKNbqPKo5+2XejGbOIBMRERHVlqSAHBMTU1fjIDcp7QOykTPIRERERLUlKSDv2LGjrsZBbhK4DjIRERGRR/AivSZCIWeLBREREZEnMCA3EQoFWyyIiIiIPIEBuYngraaJiIiIPIMBuYlgiwURERGRZzAgNxEOM8hssSAiIiKqNQbkJkLBdZCJiIiIPIIBuYmwD8i8kx4RERFR7TEgNxH26yAbjJxBJiIiIqotBuQmwv5Oeia2WBARERHVGgNyEyHY9yCzxYKIiIio1hiQmwiug0xERETkGQzITYTDKhYMyERERES1xoDcRCjYYkFERETkEQzITYR9i4WJM8hEREREtcaA3ETYzyAbGJCJiIiIao0BuYlwnEFmiwURERFRbTEgNxG8SI+IiIjIMxiQmwhepEdERETkGQzITQTXQSYiIiLyDAbkJkJgiwURERGRRzAgNxFKtlgQEREReQQDchMhl8sgq+iy4AwyERERUe0xIDch1gv1OINMREREVHsMyE2I9UI9ziATERER1R4DchNSOYPMgExERERUWwzITYg1IJvMbLEgIiIiqi0G5CZEkLPFgoiIiMhdDMhNiFLBFgsiIiIidzEgNyGCnKtYEBEREbmLAbkJ4SoWRERERO5jQG5CFBUtFqIImMwMyURERES1wYDchCgqLtID2GZBREREVFsMyE2IdZk3ADCxzYKIiIioVhiQmxD7gGzgDDIRERFRrTAgNyHWi/QAziATERER1RYDchNiP4PMlSyIiIiIaocBuQlhiwURERGR+xiQmxC2WBARERG5r9EGZL1ej48++ggDBw5E9+7dMXbsWOzdu7dG52ZmZuLll19Gnz590KtXLzz33HO4du2ay2NzcnLw1ltvYdCgQejWrRsGDx6MOXPmePKl1BvBocWCM8hEREREtaFo6AFUZdasWdi2bRsmTpyI1q1bY+3atZg2bRqWLl2KPn36VHleSUkJJk6ciOLiYkyfPh1KpRJLlizB+PHj8euvvyIkJMR2bHp6Oh5//HEAwGOPPYaoqChkZWUhISGhzl9fXbCfQWYPMhEREVHtNMqAnJCQgE2bNmHmzJl4+umnAQCjR4/GyJEjMXfuXCxfvrzKc3/66SckJydj1apV6N69OwBg0KBBGDVqFBYvXozXXnvNduxbb70FQRCwevVqh+DsrXiRHhEREZH7GmWLxdatWyEIAsaNG2fbplarMWbMGBw7dgzp6elVnrtt2zZ069bNFo4BoF27dujfvz+2bNli23bx4kX873//w9NPP42QkBDodDoYDIa6eUH1RMEWCyIiIiK3NcqAnJiYiNatW0Oj0Thst4bexMREl+eZzWacO3cOXbt2ddrXrVs3XL16FVqtFgCwf/9+AEB4eDgmTZqE7t27Iz4+HlOnTkVKSoonX069YYsFERERkfsaZYtFdnY2IiIinLZbt2VlZbk8r6CgAHq9/obnajQaJCcnAwD+8Y9/oFu3bvjvf/+L9PR0LFiwAE899RTWr18PX1/fGo9ZLpdBLpfd+MAasl5wZ3/h3Y2olILtaxGAQtEo3//UidrU62bGeknDeknHmknDeknDeknDeknXKANyeXk5VCqV03a1Wm3b74pOpwOAas+1HlNaWgrAEpy//vpryOWWX5pmzZrhtddew8aNGzF27Ngajzk01B8ymecCslVgYM1DemCAj+1rtY8SISH+Hh9PYyelXsR6ScV6SceaScN6ScN6ScN61VyjDMg+Pj7Q6/VO263h1sfHx2kfUBmCqzvXeoz1MYYOHWoLx9bvZ86ciaNHj0oKyHl5JR6fQQ4M9EVRUVmN1zTW6yp7qAuLypCfX+Kx8TR2tanXzYz1kob1ko41k4b1kob1kob1qlTTycNGGZAjIiKQmZnptD07OxsAEBkZ6fK84OBgqFQq23HVnWv9HB4e7nCcIAgIDg5GUVGRpDGbzSLMZs9fGGcymWE01uyXWW43g63Xm2p8XlMipV7EeknFeknHmknDeknDeknDetVco2xG6dSpE5KTk20X1FmdOHECANC5c2eX58nlcnTs2BGnTp1y2peQkIAWLVrYLvzr0qULADgFcb1ej/z8fISGhrr9Ouqb4HCRHlexICIiIqqNRhmQhw4dCpPJhBUrVti26fV6rFmzBvHx8YiOjgYApKWl4eLFiw7nDhkyBCdPnsTJkydt2y5duoQDBw5g6NChtm233norwsLCsGHDBlv7BQCsXbsWJpMJAwYMqKuXV2cUdq0iRjPfIRIRERHVRqNssYiPj8fQoUPxySefIDc3F61atcLatWuRmpqK999/33bcG2+8gUOHDuHcuXO2bU888QRWrVqF6dOnY8qUKVAoFFiyZAnCwsIwZcoU23EqlQozZ87EG2+8gSeffBIPPvgg0tLSsGzZMvTp0wf3339/vb5mT7BftYJ/QiEiIiKqnUYZkAHgww8/xLx587B+/XoUFhYiLi4OCxcuRN++fas9T6PRYNmyZfjggw/w5Zdfwmw249Zbb8Xs2bOd2iZGjx4NpVKJr7/+Gh9++CECAwMxbtw4vPrqqxAEoYpnaLwUbLEgIiIicptMFEUmKQ/Izi726OMpFHKEhPgjP7+kxrPBZ6/k48OfjwEAht3WEmPvau/RMTVmtanXzYz1kob1ko41k4b1kob1kob1qhQREVCj4xplDzLVjmOLBd/3EBEREdUGA3IT4tBiwYv0iIiIiGqFAbkJsV/F4mZfCJyIiIiothiQmxD7dZANbLEgIiIiqhUG5CZEKdjNILPFgoiIiKhWGJCbEMEuIHOZNyIiIqLaYUBuQhzXQeYMMhEREVFtMCA3IQqHGWQGZCIiIqLaYEBuQhRssSAiIiJyGwNyEyKwxYKIiIjIbQzITYhcJoMgt4RkBmQiIiKi2mFAbmKsbRYmtlgQERER1QoDchNjXcmCM8hEREREtcOA3MRYZ5AZkImIiIhqhwG5iamcQWaLBREREVFtMCA3MQJnkImIiIjcwoDcxChtAZkzyERERES1wYDcxAi8SI+IiIjILQzITYxtmTezCFHkLDIRERGRVAzITYxCbn83PQZkIiIiIqkYkJsYhaLyR8o2CyIiIiLpGJCbGGuLBWBpsyAiIiIiaRiQmxjBrsXCYOQMMhEREZFUDMhNjNKuxcLEFgsiIiIiyRiQmxhBbteDzBYLIiIiIskYkJsY662mAcDIFgsiIiIiyRiQmxiHVSzMDMhEREREUjEgNzEK+xYLroNMREREJBkDchNj32LBi/SIiIiIpGNAbmLs10E2MCATERERScaA3MQ4XKTHFgsiIiIiyRiQmxiHO+lxBpmIiIhIMgbkJoYtFkRERETuYUBuYhwv0mOLBREREZFUDMhNjCDYL/PGGWQiIiIiqRiQmxilwHWQiYiIiNzBgNzECA6rWHAGmYiIiEgqBuQmxk+tsH2dml3SgCMhIiIi8k4MyE1MhxbB8FEJAIAj57OgN5gaeERERERE3oUBuYlRKwX0josAAJTpTDielNPAIyIiIiLyLgzITdCALs1sX+87ldGAIyEiIiLyPgzITVBcqxCEBKgBAKcu5aGoRN/AIyIiIiLyHgzITZBcJsNtXaIAAGZRxMHEzAYeEREREZH3YEBuouzbLPazzYKIiIioxhiQm6jYCA1aRmkAAMkZxUjL4ZJvRERERDXBgNyEOcwin+YsMhEREVFNMCA3YbfeEgW5zHJnvQOnM2AWeetpIiIiohthQG7CgjRqdGkTCgDILdLh/NWChh0QERERkRdgQG7i+neNsn29j20WRERERDfEgNzE9ewQUXnr6XO89TQRERHRjTAgN3G89TQRERGRNAzINwHeepqIiIio5hiQbwK89TQRERFRzTEg3wR462kiIiKimmNAvknw1tNERERENcOAfJO4/tbT6bm89TQRERGRKwzINxFerEdERER0YwzIN5Fbb4lCxZ2nsf90BgxGrolMREREdD0G5JtIkEaNbm3DAAB5RTqs3HGxgUdERERE1PgwIN9kHrmzHRSC5ce+/WgKjpzLbuARERERETUuDMg3mRaRGjx+bwfb94s3JyKnsKwBR0RERETUuDTagKzX6/HRRx9h4MCB6N69O8aOHYu9e/fW6NzMzEy8/PLL6NOnD3r16oXnnnsO165dq/acw4cPIy4uDnFxccjLy/PES2i07uoRgz4Vt58u1Rnx1frTMJrMDTwqIiIiosah0QbkWbNmYcmSJRg1ahT+/ve/QxAETJs2DYcPH672vJKSEkycOBF//fUXpk+fjhkzZiAxMRHjx49Hfn6+y3PMZjPee+89+Pn51cVLaXRkMhkmD+uE8CAfAMDF1CL8uudyA4+KiIiIqHFolAE5ISEBmzZtwmuvvYY33ngD48aNw9KlSxETE4O5c+dWe+5PP/2E5ORkLFy4EM888wwmT56MRYsWITs7G4sXL3Z5zooVK5Ceno4xY8bUxctplPx8lHj2wa4Q5JZlLTYfuIJTl3NveN6VomtILroKURTreohEREREDaJRBuStW7dCEASMGzfOtk2tVmPMmDE4duwY0tPTqzx327Zt6NatG7p3727b1q5dO/Tv3x9btmxxOr6goADz5s3DjBkzEBgY6NkX0si1jQnEI3e2s33/7YYzKNTqqjz+fH4SPjz8GT46vAD/+mse9qcfhsFsrI+hEhEREdWbRhmQExMT0bp1a2g0Goft1tCbmJjo8jyz2Yxz586ha9euTvu6deuGq1evQqvVOmyfP38+IiIi8Nhjj3lo9N7l/n4tbEu/FZUa8PWGMzCbXc8O208ap2rT8UPiSvxj3wfYfPl3FOu1Ls8hIiIi8jaKhh6AK9nZ2YiIiHDabt2WlZXl8ryCggLo9fobnmsN3mfPnsWKFSvw9ddfQxAEt8Ysl8sgr2hX8AShYik26+e6NP3BLvjHtweRX6xD4pV8bD10FQ8MbON0XJfIjni+x1PYcnkHLhdeAQAU67XYdPl3bLuyE7dG98I9LQchNiC6zsd8vfqsV1PAeknDeknHmknDeknDeknDeknXKANyeXk5VCqV03a1Wm3b74pOZ2kPqO5c6zEA8P777+OOO+7AwIED3R5zaKg/ZDLPBWSrwEBfjz/m9UJC/PG38X3w5sK9MIvAmt0X0To2GHf0jHV6TXeF9MNdcf1wPucSNp3fgYMpx2AWzTCajdibegh7Uw+he1RnjIgbjPhmt0Auq9//GOujXk0J6yUN6yUdayYN6yUN6yUN61VzjTIg+/j4QK/XO223hlsfHx+X51lDcHXnWo/ZvHkzjh07hg0bNnhkzHl5JR6fQQ4M9EVRURlM9bAEW/MwXzwwsA1+3XMZZhGY++MRbNhzEU/e1xGto517syOEKEzu/DhGtR6CnVf34s/UgygzWt64JGQmIiEzEc38I3FPy0G4LaY3VILzmxZPqu96eTvWSxrWSzrWTBrWSxrWSxrWq1JIiH+NjmuUATkiIgKZmZlO27OzLXd9i4yMdHlecHAwVCqV7bjqzv3www8xZMgQKJVKpKSkAACKiooAABkZGTAYDIiKiqrxmM1mscreXXeYTGYYjfXzyzyyf2tcy9La7q537moB/rnoEAZ0a4aH72iHkAC10zlBymCMbjcCQ1vdgwPpR7Az5U/klFlWw8goycKPib/g16QtGBhzG+5o3h/B6qA6fQ31Wa+mgPWShvWSjjWThvWShvWShvWquUYZkDt16oSDBw9Cq9U6XKh34sQJAEDnzp1dnieXy9GxY0ecOnXKaV9CQgJatGhhe7z09HRs3LgRGzdudDr2oYceQqdOnbBu3TpPvByvIZfL8Pzorjh+IQcrdiYhK78MIoC9JzNw+Gw2ht/WEkP6tYRK6dyv7aPwwV0tbscdzfvjZE4idlz7H5IKLGsrlxhKse3KDvxxdTd6RcZjcMuBaBnQvJ5fHREREVHNNMqAPHToUHz33XdYsWIFnn76aQCWtok1a9YgPj4e0dGWi8DS0tJQVlaGdu0qlyobMmQIPv74Y5w8eRLdunUDAFy6dAkHDhzAlClTbMd9/vnnTs+7adMmbN68Gf/5z3/QrFmzunyJjZZMJkPPjhHo1i4M24+kYP3eZJTpjNAZTFi75zJ2n0jDuMEd0LeT61l8uUyO+IguiI/ogqvFKdhx9U8cyToOs2iGSTThr8yj+CvzKNoHt8HgFoPQLbz++5SJiIiIqiMTG+kdH15++WX88ccfmDRpElq1aoW1a9fi5MmTWLJkCfr27QsAmDBhAg4dOoRz587ZztNqtXjooYdQUlKCKVOmQKFQYMmSJTCZTFi3bh1CQ0OrfM7PPvsMCxYswP79+6s9zpXs7OLavdAqKBRyhIT4Iz+/pEH/HFJcqse6Py9j17E0mO1+VSYOicNdPWNr9BgFukL8L2U//kw9gBJjqcO+cN8w3NX8dvSP7gMfheve8ppoLPXyFqyXNKyXdKyZNKyXNKyXNKxXpYiIgBod1yhnkAFLj/C8efOwfv16FBYWIi4uDgsXLrSF46poNBosW7YMH3zwAb788kuYzWbceuutmD17tuTQS0CAnwrj74/D3b2aY8WOCzh1KQ8AsOy3cwgNVKN7u/AbPkawOggPtBuKoa0H42DGUey89icySy1L9eWU5WL1hfXYdPk3DIjph7ua345Qn5A6fU1ERERE1Wm0M8jepqnOIF9v5Y4kbD10FQCgVgp448meaN1M2h0IzaIZiXnnsePqHpzNv+CwTy6To0dEVwxuMQhtglrV+DEba70aK9ZLGtZLOtZMGtZLGtZLGtarktfPIFPjNObudsgpKsfhs1nQGUyYvyoBf5/YG+FBNV9bUS6To0tYJ3QJ64Q0bQZ2XtuDQ5nHYDQbYRbNOJqVgKNZCWgT2BJ3txiEHhFdIcjdu5ELERERUU3x6iiSRC6T4ZmRndG+uWW5tsISPf678gRKyg21erwYTTM82Xks3hswByPa3IcAZeWqJZeLruK70z/in/v/gz+u7kapocwjr4GIiIioOgzIJJlSIWDGI90RFWKZNU7PLcXna07C4MafbQJUGgxvcx/evX0Oxnd+FLGayttV5+sKsDZpE97c9z5Wnl+H7NJct18DERERUVUYkKlWNL5KvPpoPAL8lACAs1cLsHhLItxtaVfKFegf3Qez+76CGT2moWtY5ZrXOpMeu1P24v8OfIivEpbiQv5Ft5+PiIiI6HrsQaZaiwzxw4xHuuPDn4/BYDTjwOlMhAf54OE72t345BuQyWSIC22PuND2yCzNxq5rf+JA+mHozQaIEJGQcxoJOafRQhODu1sMwq2xPT3wioiIiIi4ioXH3CyrWLhy5Fw2vlh7EtZfpKH9WuKOHjFoFupX48cwmc1IzS5BWJAP/H2ULo8pMZRib+pB7E7dhwJdocO+IHUghnS4A92DuyJExeX8bsSbfr8aA9ZLOtZMGtZLGtZLGtarUk1XsWBA9pCbOSADwO+Hr+HnPxyXbGsVFYBbb4lCv86RCA10vglIfrEOpy7l4uTlPJy5nIdSnRH+Pgq8+HA3xLWsei1kk9mEo1kJ2HFtD64WpzjtbxXYAn0i49ErKh7B6iD3X1wT5G2/Xw2N9ZKONZOG9ZKG9ZKG9arEgFzPbvaADAC/7rmEDXuT4eoXqmPzINx6SxSiQv1wOjkPJy/mISVb6/JxBLkMTw3vhAFdo13utxJFERcLk7Hz2h6cyD4N8bpnlkGGdsGt0TuyB3pGdkOASlPFI918vPH3qyGxXtKxZtKwXtKwXtKwXpUYkOsZA7JFXlE5DiVm4WBiJq5k1Lwm/j4KBAeokZpdYtv2wO2t8eDANpDJZDc8v8hQiNNFZ7D70iFcK0512i+XyREX0h69I+MRH9EVfsqar9vcFHnr71dDYb2kY82kYb2kYb2kYb0qMSDXMwZkZxl5pTh0JhMHEzORnlvqtL91swB0axuGbu3C0Cba8gv70+8XsPNYZcC97ZYoPDW8E5SK6m8UYl+v1MIMHMk6gcOZJ2y3tHY4Viagc1gc+kTGo2v4LfBRqN18pd6nKfx+1SfWSzrWTBrWSxrWSxrWqxIDcj1jQK6aKIq4lqXFX2ezoC0zoGPzYHRpE4pAf5XLY3//6xpW7EiyNUy0bx6Elx7uhgA/5+OtXNVLFEWklWTgcOZxHMk8gdzyPKfzlHIluoV3Ru+oHugSGgel4PoCwaamKf1+1QfWSzrWTBrWSxrWSxrWqxIDcj1jQPasY+ez8dWG09AbLK89MtgXL4/tjugwf5fH36heoijiSvE1HMk8gSOZJ1CoL3I6xkfwQXxEF/SO6oFOIe2b9O2tb/bfL6lYL+lYM2lYL2lYL2lYr0oMyPWMAdnzkjOKMH91Agq1egCWPuX7+rRA59YhaBMdCIVQeZ8bKfUyi2ZcLLiMw1kncDzrJLSGEqdj/JV+6BnRDb2jeqB9cBvIZU3rnjr8/ZKG9ZKONZOG9ZKG9ZKG9arEgFzPGJDrRl5ROeatSnBa8UKtEhDXIhidW4Wgc6sQtI4JRFioRnK9TGYTzuUn4UjmCRzPPoVyU7nTMUGqAPSKjEfvqHi0DmxZo4sGGzv+fknDeknHmknDeknDeknDelViQK5nDMh1p0xnxKJNiTh6PrvKYwL8lGgTEwSIIuQyGQS5DIJQ8Vkuh1IpR5+4SHRuVfX6ygaTAWfyzuNI5nGczDkDvdngdEyYT0hFWO6B5pporw3L/P2ShvWSjjWThvWShvWShvWqxIBczxiQ615OYRkSk/OReCUfZ67ko6hEL/kx7u3dHGPvbnfDVTF0Jj1O5pzBkcwTOJN7FkbR5HRMlF8EeleE5Wb+kZLH0pD4+yUN6yUdayYN6yUN6yUN61WJAbmeMSDXL1EUkZZTgjNX8pGYnI9z1/JRpnMOsa40j/DH9Ae7Ijbc9QV/1ys1lOFEzmkcyTyOc/lJMIvOP49YTTT6RPZAr6h4hPs2/ltd8/dLGtZLOtZMGtZLGtZLGtarEgNyPWNAblhyQQZfPzVy80qg05tgMplhNoswmUUYzSISk/OwcudFGE2WWioVcjx2Twfc1SNGUptEsV6L49kncSTzBJIKLjvdvQ8A2gS2RO8oy937Guutrvn7JQ3rJR1rJg3rJQ3rJQ3rVYkBuZ4xIDesmtQrJVuLr9adRmpO5aoVPTuE46nhnaHxlb7+cYGuEEezEnAk8wSSi6467ZdBhvbBbdAlrBM0Kg38FL7wV/rBT+ELP6Uv/BS+UMqVDdLHzN8vaVgv6VgzaVgvaVgvaVivSjUNyIo6HgdRo9E8QoN/TOqDlTuTsOOo5W59xy7kIPm7Q5g6ojM6tQqpcVg1mszQFgrwLeyALsaWuLOVCXnyZBzNPoFUbToAQISICwWXcKHgUpWPo5AJ8FX6wk/hGJxtnxW+8LOF6sYRromIiJo6BmS6qaiUAsbfH4cubUKxePNZaMsMyC/W4aPlx6FWCggP9kFEkC/Cg3wQEeyL8GAfhAf5Qluqx7Usre0jLbcERpPjH1+CNCr0iRuBwW1lyJZdwtHME8gqy6l2PEbRhGK9FsV6bbXHuVJ1uParJmRbvheEm+/22kRERDXFgEw3pZ4dItB6SiC+3XgGiVfyAQA6gwmp2SVIzXa+cUhNFGr12H4kBduPACEBGvSOG43724iQ+5Ugr6QYeaVaFJZpUawrRYmhFGWmchhEHWQKAyAYoDdLW5XD3XDtp/KFUqaEQq6ESq6AUlBBJVdCKSiglCuhkqugFJRQyhUV21UVxykt+wUVlHKF3ddK2377c5vaTVaIiKjpY0Cmm1ZIgBqvP9YDu46l4tiFHOQUlCG3qNxpZvh6MhnQLNQPLSI1aBGpQYCfCieScnDyUq7t3PxiHf44nAIctj/Tt+LDta5tQzCwZzhaxqhRZixHqbEMZYZSlBrLUGIoQ6mxtGJbGUqNFR8V23Um6eG6SCc9WNeGQiZUhmu7MG0L4hVB2xLClVALarvZbj/4W2fJKz6rBRVbS4iIqE4xINNNTS6TYXCv5hjcqzkAwCyKKCjWIaewHNkFZciuCM0+KoUtEMeG+0OldFxH+Y74GJSWG3E8KRuHErNw+nIeTGZp17+eupSPU5fy0SzUD/f2aY4BXdvBR1Wz/0RNZtN1obkyXNtvKzGUQKsvQ5mxDHpRD4NJD73JCIPZAJOLtZ49wSiaYDSWocxDjyfIBFvbiL9dW4m/wg++Sl/428K0/UWRls+CvPr1r4mIiACuYuExXMWiYTW2epWUG3D0fDaOnMtGYYkeIRo1QgPVCA30QUiAGqEBlq9VSgH7T2Vg+5EU5BY53ubaV63ArZ0joVIKKNeboDeYoLN+6C2fbxTCDUYz9EYz9AYTDEaz0/GCXIZAfxWCNWoEaRQIDBCg8Reg8ZMjNsoXQQECDCYj9GY9DCYDDGYD9GajJVibDTBUhOvK/caK7fqK4yr22R9r0sNgNrpcIq+u+QjqijDtC9+Kz9bw7K/0q3LW2l/tg9Ba3Mr8ZtbY/pts7FgvaVgvaVivSlzmrZ4xIDcsb6+XyWzG8Qs5+ONwCs5dK2jo4dj0aB+O4be1Qvvmnl3PWRRFGEVTZYCuCM8GswHlRl3FrLe1vaTU9n1Jxcx4ScX35SadR8dVFUEmQKP2h7/gC41SA43K3/Y5QOkPjUpj+6xR+sNf6XfT9157+3+T9Y31kob1kob1qsRl3oi8iCCXo3dcJHrHReJqZjH+OJyCA2cybTc2cUWpkEMhVPbiunqrq1TIoVIIUCktn5VKOdQKOVQqAYIgIDu/FPnFOhSX6F3O5x5PysHxpBx0aB6EYbe1Qvd2YZB7oP9XJpNBKVNAKVfAD77QGUw4fTkPxy/kIyu/FBo/FYI0wQjyj0SoRo02/ioEBasQ5K9GkEZlG4OttcQpTJehxFhq215qKK3o47YG7VKXd0Ssikk0obC8CIUoApB549cHGfyVftAo/RFQEZo1ts+WUG3ZbgnZ/go/tn8QETUinEH2EM4gN6ymWK/iUj1SsrRQVgRctUqAj1KASilArRQgl9c+qF5fL6PJjKISPQq0euQX65CWW4Jdx1KRX+w4Qxsb7o+ht7bErbdEQSHIYTSZUVxqQIFWh0KtHoUlls8yuQxRIb6ICvFDVKivy17qolI9TiTl4Nj5HJxJzoO+hj83ja8S8e3C0KNDBLq2CYVaJT1YiqIInUmPUqMlOJdVfHYM2qUVQduyv9RUhqLyYhjMRsnPdyMyyOCn8LXNTAeo/B1CtW2W2hqylf6NPlA3xf8mPc1gNiKvLA/ZZbkoNBQiPCgISqMPApWBCFIFQilIv4HRzYK/X9KwXpXYYlHPGJAbFuslTU3qZTSZceB0JrYcvIL03FKHfRpfJWQyQFtqqFEncZBGhagQPzQL9UWgvxrnr+bjQmqhy1lvKZQKObq0DkWPDuHo0T4cgf4qAIC2zIDUbC3SckqQklNSsXyfFoIgR++4CAzsFo3WzQJqvBqGtV55eVqU6MqhNZRAa9BCqy9BsV4LraEExRXfaw2V27R6LfRmg3svsgq+Ct+K4OwPX4UvfBU+dp8tX/spfOBT8dl+f33cZIb/TVreiGkNJcgpy0NuWS6yy/KQU56LXGso1hVV24uvUfojWB1U8RGIYHUwgn2CEGL7Pgg+Cp96fEWNB3+/pGG9KjEg1zMG5IbFekkjpV5mUcSJpBxsOXAVSamFdTKeQH8VenYIR88O4ejQPBhlOiMKS/R2M9N6FGp1yCvW4dy1Auj0zituyAC0iNSgsFSPQu2Nl72LjfDHwG7R6N+lmS1YV8VVvYpL9biSUYzLGcW4mlEMsygismLWPDLEF5EhvggN9IHRbECx3hKobcHZUGIJ1wYttHotiiu+1xq0kpfsqw1BJtgFaZ8qA7bj15bvLaHbx6nHWhRFFJbokZ5bivTcEuQX6xAU4AM5RKiVAvx8FPD3UcJPrYCfjwIBfiooFd7fp200G5FXXoCcslzkVATgnLI85JRZgnBd98n7CD620BykDqwIz3YfPkHwV/g1uaUR6/L/+WbRDL1JD53JAJ1JV/G13vLZrIfOqIPebNlm2277rINSrkSITzCC1Zafi/VrjdK/wX4O/DeyEgNyPWNAblislzS1rdf5awXYevAqzl0rgJ9aQKC/GsEaFYI0agT7qxCoUSHYXw2jyYzM/FJk5pUhI78UWXmlKCp1nEltFuqHnh3D0atDBNrEBNa4t9lgNCHxSj6OXcjB8Qs5KCypWaAM1qhQWm50auUQ5DJ0bxeGgd2iERupgWgWYRZFmEXYvpbLZZApBJy8kI1LqYVIzihGTmF5Fc9USSHIERFsuSujQpBDFEWYzZY5Q3PFY4ui5Wux4jnNogFGuQ5GmQ5meTlMch18/EzQBIhQ+xohVxlQbiq1hepy043HUReUMhUEqACTAiaDAgadHEa9AJiUEE0KwKiwfDbZf1YCJgGiSQEFVIhvF4F+t0She7swqJWNt2WkxFBaGYBtQdjydX55Qa1WZPFX+iHcNwzhPqGWz/6hEFQiUvOzkVdWgEJdIfLLC1GoL5LUL++KUq5wDM0Vwdk+TAeoNF51YakgyBAQpEZmbgFKdGW2kGofVHUmg+1rh/3myv3Wffb7DXX0Vx/7n0NlgA5GiE8Qgis+19WbmYb4N7LcqLPczMpQjCJdMYr0WhTri1GkL0axXosivRZF+mKE+gTj6a7jEaDS1Mu4GJDrGQNyw2K9pGmIepWWG5GZX4q8Ih1iwv0QHebv9mOaRRGX04tw7HwOjl3IRnpuKTS+SsSG+yM2wh+xERrb1/4+SpTpjPjrbBb+TEivs9nw+hAe5IPW0YFoGx2IqDA1coqLkVlUjBxtEfJKSlBYpkWpobziLo1GCEoT/PxEqH1FKFQmyAQjTDI9dKZylBnLG2TJPQAQTQJgUgBmBfyUPgjx0yA8QAM/hS98FGr4VsxW+wj2X/tUfK2Gj2D5XJNgZxZF5BWWI6ugDBpfJcKDfOHnY+mNN5lNyNcVVoRfuyBcnoecsjyUGaWv4i2XyRHqE2IJwH52Qdg3DOG+IfBVON40qKr/Js2iGcV6LQp0hSjQFSJfV4iC8kLb99YPd3vj5TI5glSBLsJzIAS5AiazCWbRDJNogkms+NpsrvxaNNkdYz2uYr/Z5LDNcq7J4dyqHs9yvPV8x8drqN/buqSUKy219wm2zD7bf10Rqv0UvpJDtKf+n6836VGkdwy71qBbbN2mK0aRQQu9hL+GPdlpLAbE9K31uKRgQK5nDMgNi/WSpqnWS28wQamQ1+gfj/TcEuw9mYF9p9JRUIOWDHsqpRytogLQulkgWkcHoHWzACgVcmTllyErvwyZ+aV2X5dVuxqJKzLAMmtd8TJudHfH2gr0V6FcZ4DebLCFaZlgBAQDZApjxfcV2+32Ox0rNOzvkFpQOQRnBVQQjQoYDALKy4DSUqCoWIRRLwfMAmTKcsh8yqDwLYPcpwxmRSkgk15jlUwNtRgAU5kvSopUMJT6wBcBaB8Rje4tW6BL6zBEBFd990x7N/pv0nohbWGJHkXWj9KK70v1UKlNiIyUITjEDFFZjkJdIQp0RQ6huqH+2tDYqQQV1HIV1ILK8rWgtvu68rP9fvttlu+VUMst+3UmPfJ1BcgvL0RBxed8XYHlZ+GBn4PKoYXDOgPtOCvtq/Bx+P9gdb9fltBrDbzWsGud5XXc5ukWMH+FH9oEtcSTncciUFWz4OouBuR6xoDcsFgvaVivSiazGacv5+PYhWzo9CbIZDLIZYBMbvksl8kgF+QI1KgREahGy0gNosP8a7yKiFkUbcvo2R5bJoNcZgnAcpkMcrnjNvt/2ERRRHZhOZLTi3AprQjJ6UVIziyG3lD1zy3QX4WIIB+EB/vCaDIjJUuLrPwyyfNtAX5K+Pso4e+jgJ+PEn4+lv5hP7WlnzhYo0J0mD/CQ1QwywwoM5ajzFiGMmM59KIOcpWI3KIilOhLUW7UobxixrrcqEOZsRyFZZY7O+rNOohyIxpdm6wIyI1+UIsB0AhBCFaFwFjmg+xMObKz5IDpxqtMhAf54JbWIejcKhQdmgchOEDtsp3I/r9Jg8GE3MJynLtWgAspBTh/rRAZeaUuHt01ja8S7WIC0TY2CO1jAtEmJhA+KgXKjeVOoblA7zgjrTWUSCqRJ8kggyCTQwY5ADlkogwKQai4Lb0AuVwOQSZYPuRy+Kl9IIgKKGVKh2DrOtxaQq1KpkReoREmgxwxoUEIC/SDop5XhCkzlleE5QLb53zrXwjKC5CvK3A7iKoFlaVtoyI4h/oGw9/PB1mFuSgodwzAnu6T91P4IkAVgECVBoGqAASqAhCg0jhuUwdAo/SHQl7/qw0zINczBuSGxXpJw3pJ09jqZTKbkZ5TisvpRcgqKEOwRo3wikAcHuTjsp9XpzchNacEKdlaXMvSIiVLi/S8Uvj7KBAR7Gv34YPIYF+EB/nWagk9Kyk1M5rMOH05F/sT03AiOQN6k85uhrpi1lowIiREjrAQJXx9RRSUlqCwvARlhnKY5Qa7Y6XdMl00CRDL/SDq/GDW+ULU+VV87wtR7wuINevLDQ1UIzLYF5czil1eRGqriyBDWKDlZxVh9zMLC/JFXokex85m4tzVAqclFt0hkwHtYoLQvV0YurcLQ4tITZV/ZTGYDCjUFyGrJB9JmRlIyc+BoJAhNMAXIRpfqAQFBJkccrkAQSav+BAgyAXIrV/L5JBXhFhBZr+94mvrdsiQX6TH1cxSXMnQ4kq6FlcytdAZnOun8VWiRaTG9tE6OhBxbcNRVlIOUzV/YTGazLiSUYzz1woq3nAUokxX2Y6iUsgrLqr1q7jI1heRwb5QKgSYzGYYzZbrBkwm0dICYhYtHyYRRrPZst1k2W40W74O8FPZxumrlh4ARVGEVl+GxLQ0JGVl4FpeDjJL8lBiKobSVweVnwEmoRRGsW56pV3xVfgisGKpSUvgDagIv5XbAlUB0Kg0UDZA6JWCAbmeMSA3LNZLGtZLGtZLutrWTG8w4eSlPJxIykHCxRyniztvxFctoHWMDyLDVQgNERASJECjkcEEPcqNOuhMOgSqAhDmG4YI3zCo5T7IL9Yhu7AcOQVlyCksR16RDvnFls95xeVOLS6CXIZWzQLQLiYI7ZsHoV1MIEIDLcutGU1mJGcUIzE5D4lX8pGUWuh2i4wgl6FFpAahgT4I9Fch0E+JIH8VAv0tN88J8FMir6gcSWlFuJhaiEtpRdCWVV23kAC1LSzf0sqylnheUTmSUguRlFKIpNRCXMvSurw1fXSYP1pGadAyUoOWUQGICvVDabmhouXD4ND6UVyiR7neBKPZDKPREiiNFYHSYDJDpzehvJo3EzWhUsgR4Key1SXAX4VAPxUEuQwX0yyvpbq/ttQlGYDIEF+0iApAqyhLvWLDLddelOlNKNcZUaY3olxnsn3OKijD5fQiXM0svsHvjQhBaULrlkq0iBUQFg6YFWVOs9LVXXColKngI/eHGr5QyfwQ7BOI6KAQRAUE22Z9A1UBCFBqmtSa3AzI9YwBuWGxXtKwXtKwXtJ5omZmUcTltCIcT8rBiaQcpGQ7//k/0F+Fji2C0bF5EDq2CEbzCI1bN9FxNYbiUgPyisqRX6xDgJ+youe8ZrPrOoMJSSmFSLySj7ScEmQXliGnoNzlLKmVWimgXWwgOjYPRocWwWgbEyhplQ9RFJGZX4aLqYW4mFaEc1fzndYyt1IIcgT4KT06Y+2OsEA1WkcHok10IIL8VUjNLsG1rGJcy9JKfrPkSqCfEh1bBCNYo0ZWgeU6geyCMqc3A42N9c1JdkFZlb87IQFqyGRAuc7yxsMsmi3XCKjKIVNb+p5FgwowqCAa1IDo+ncqSKNC66gAtI4ORKtmAWjTLABBGrXDMWazZUbdaLLMqJeUGVBUqnd6o1RUokdpuRG+agU0vkpb21aAnxIaXyU0fkpEh/rBz6f+AjgDcj1jQG5YrJc0rJc0rJd0dVGznIIyHE/KQVZ+GZpHahDXIhiRIdKv6G9ooiiiuMyA3MJyZFfMWhdodWgZHYQW4X6IDfeHQvDskmvZBWVIuJiLExdzcPZKwQ0vHI0J90f72EC0jQlCmc6Iq5laXM0qRnpOKcy1iA2CXAaFIIdCkEGo+KwQ5GgW6oc20YFoE2256LW6NckLtTpcy7K0CKXmlEBbbkRuYRmKSvRV3rQoJECNuJbBiGsRjI4tgtEs1HkZNbNZRG5RecWFtaXILiiHWRQhyGUQBBkEuRxyuQwKuQxyuaxiuxwKu/0Ku+Nyi8pxLbMYVzK1SMnWwlCL3/+oUD+0jQ6w1CYmEC0jNVAqBBiMZpy/VoATSTk4cTEH2QX1c+Glr1oBURQrArHZ7Zs82fNRCZj1ZC+0jOJFek0SA3LDYr2kYb2kYb2kY82kqc966QyWtcQTLubi5MVclJQb0LpZANo3D0b72CC0iw2EfxUzegajpZf9aqYWVzOLkVekg7+voqLFoaLVwe5rP7UAQZDXeJ3zmrq+Xmaz5U1HccXMZbnehJaRGoQF+TToGyiT2YyM3FJczdTiSmYxMvJKoVTI4atSwEctwEelgK9asH0f6KdCq2YBVdbfniiKyMgrxYmkXJxIysG1LC2UCjl8VJbHtXwW4KO2XFgbEKCGaDRDkMugVMihUMihVMihrHgzlppTgisZxUjOKHbo064P00bdgtu6NKuX52JArmcMyA2L9ZKG9ZKG9ZKONZOG9ZKG9ZJGSr1EUURWQZktLCenFyG/WAdBkFtmzyv+GmA/w+7no6h4U6R0eqPk56NAmc4IbZnB9lFcakBJxeeIYB8M7t3c4381qUpNA3LjvtSQiIiIiOqNTCZDVIgfokL80K9zlEce01etsF3I6i28576SRERERET1gAGZiIiIiMgOAzIRERERkR0GZCIiIiIiOwzIRERERER2GJCJiIiIiOwwIBMRERER2WFAJiIiIiKyw4BMRERERGSHAZmIiIiIyA4DMhERERGRHQZkIiIiIiI7DMhERERERHYYkImIiIiI7DAgExERERHZYUAmIiIiIrLDgExEREREZEcmiqLY0IMgIiIiImosOINMRERERGSHAZmIiIiIyA4DMhERERGRHQZkIiIiIiI7DMhERERERHYYkImIiIiI7DAgExERERHZYUAmIiIiIrLDgExEREREZIcBmYiIiIjIDgNyI6PX6/HRRx9h4MCB6N69O8aOHYu9e/c29LAaXElJCT799FM8/fTT6NevH+Li4rBmzRqXx168eBFPP/00evbsiX79+uFvf/sb8vLy6nnEDSshIQHvvPMORowYgR49euCuu+7Cyy+/jMuXLzsdy3oBFy5cwIwZM3DPPfcgPj4et956K5588kns2LHD6VjWy7Uvv/wScXFxGDlypNO+o0eP4vHHH0d8fDxuv/12vPfeeygpKWmAUTaMgwcPIi4uzuXH8ePHHY692Wtl7/Tp03j22WfRr18/xMfHY+TIkfj+++8djmG9LGbNmlXl71hcXBwyMzNtx7JmNaNo6AGQo1mzZmHbtm2YOHEiWrdujbVr12LatGlYunQp+vTp09DDazD5+fn4/PPPERMTg7i4OBw6dMjlcRkZGXjyyScREBCAV199FaWlpfjuu+9w/vx5rFq1CiqVqp5H3jC+/fZbHD16FEOHDkVcXByys7Px448/4uGHH8aKFSvQsWNHAKyXVVpaGkpKSvDQQw8hMjISZWVl+O233/Dcc8/hnXfewbhx4wCwXlXJyMjAV199BT8/P6d9iYmJmDx5Mtq1a4dZs2YhIyMD3333HZKTk/Htt982wGgbzoQJE9CtWzeHbS1btrR9zVpV+vPPP/Hss8/illtuwfPPPw8/Pz9cvXoVGRkZtmNYr0rjxo1D//79HbaJooi3334bsbGxiIqKAsCaSSJSo3HixAmxY8eO4rfffmvbVl5eLt57773iuHHjGnBkDU+n04lZWVmiKIpiQkKC2LFjR/GXX35xOu6f//yn2L17dzE1NdW2be/evWLHjh3F5cuX19t4G9qRI0dEnU7nsO3y5cti165dxddff922jfWqmtFoFB944AFxyJAhtm2sl2uvvPKKOHHiRHH8+PHiiBEjHPZNnTpVvP3228Xi4mLbtpUrV4odO3YU9+zZU99DbRAHDhwQO3bsKG7ZsqXa41gri+LiYnHAgAHiCy+8IJpMpiqPY72q99dff4kdO3YUv/zyS9s21qzm2GLRiGzduhWCINhmqwBArVZjzJgxOHbsGNLT0xtwdA1LpVIhIiLihsf99ttvuOuuuxATE2PbNmDAALRu3RpbtmypyyE2Kr169XKazWzdujU6dOiAS5cu2baxXlUTBAHR0dEoLi62bWO9nP3111/Ytm0b5syZ47RPq9Vi3759eOCBB6DRaGzbH3zwQfj5+d2UNdNqtTAajS63s1YWGzZsQE5ODl599VXI5XKUlpbCbDY7HMN63djGjRshk8lsbU+smTQMyI1IYmIiWrdu7fCLCwDdu3e37aeqZWZmIjc3F127dnXa171795u+fqIoIicnByEhIQBYL1dKS0uRl5eHq1evYsmSJfjf//6H2267DQDr5YrJZMK7776LMWPGIC4uzmn/uXPnYDQanWqmUqnQuXPnm65ms2fPRu/evdG9e3dMmDABJ0+etO1jrSrt378fGo0GmZmZGDJkCHr27InevXvjn//8J3Q6HQDW60YMBgO2bNmCnj17onnz5gBYM6nYg9yIZGdnu5wltW7Lysqq7yF5FWt9qqphQUEB9Hr9Tdsnun79emRmZmLGjBkAWC9X/v3vf2PFihUAALlcjvvuuw9vvfUWANbLleXLlyMtLQ1LlixxuT87OxsAEBkZ6bQvIiICR44cqcvhNRpKpRJDhgzBHXfcgZCQEFy8eBGLFi3Ck08+ieXLl+OWW25hrewkJyfDZDLh+eefx5gxY/D666/j0KFDWLZsGYqLi/HJJ5+wXjfw559/oqCgAKNGjbJtY82kYUBuRMrLy13+46pWq237qWrWmYUb1fBmCjBWFy9exDvvvIOePXvioYceAsB6uTJp0iQMHToUWVlZ2LJlC8xmMwwGAwDW63r5+fn49NNP8fzzzyM0NNTlMdb/Z1VVs5vl/2m9evVCr169bN/fc889GDJkCB544AF8/PHHWLRoEWtlp7S0FGVlZXjsscfw5ptvAgDuv/9+6PV6rFixAjNmzGC9bmDjxo1QKpUYNmyYbRtrJg1bLBoRHx8f6PV6p+3Wf5h9fHzqe0hexRpSWENH2dnZmD59OgICAjB//nwIggCA9XKlXbt2GDBgAEaPHo2vvvoKpaWlePbZZyGKIut1nXnz5iEoKAjjx4+v8hhrPaqq2c1Ur+u1atUK99xzDw4ePAiTycRa2bG+1uuXDLTOhh4/fpz1qkZJSQm2b9+OgQMH2lrqAP73KBUDciMSERFh+xOIver+LEKVrPWpqobBwcE3zeyeVXFxMZ555hkUFxfj22+/tS31A7BeNTFkyBCcPHkSly9fZr3sJCcnY+XKlZgwYQKysrKQkpKClJQU6HQ6GAwGpKSkoKCgoNr2sOzs7Jv+/2nNmjWDwWBAWVkZa2XH+lrDwsIctlv/UlFYWMh6VeOPP/5AWVmZQ3sFUH275s1eM1cYkBuRTp06ITk5GVqt1mH7iRMnAACdO3duiGF5jaioKISGhuLUqVNO+xISEtCpU6cGGFXD0el0ePbZZ5GcnIyFCxeiffv2DvtZrxuz/slRq9WyXnYyMzNhNpvx3nvv4Z577rF9nDhxAsnJybjnnnvw+eefo2PHjlAoFE410+v1SExMvKlq5kpKSgrUajX8/PxYKztdunQBAIebWwCVwS40NJT1qsaGDRvg5+eHwYMHO2xnzaRhQG5Ehg4dCpPJZLtICLD84q5Zswbx8fGIjo5uwNF5h/vvvx+7du1yWBJv//79SE5OxtChQxtwZPXLZDLhlVdewfHjxzF//nz07NnT5XGsl0Vubq7TNoPBgHXr1sHHxwft2rUDwHpZdejQAZ9//rnTR4cOHRATE4PPP/8cY8aMQUBAAPr374/169c7vPFft24dSktLb5qaubrT4tmzZ7Fjxw7cfvvtkMvlrJUda9/s6tWrHbavXr0aCoUC/fr1Y72qkJeXh/379+O+++6Dr6+vwz7WTBqZKIpiQw+CKr388sv4448/MGnSJLRq1Qpr167FyZMnsWTJEvTt27ehh9egfvjhBxQVFSErKws///wz7r//ftus+oQJExAQEID09HSMHj0agYGBmDhxIkpLS7Fo0SJERUXhl19+uWn+BP7+++/j+++/x9133+1wkYbVgw8+CACsV4UXXngBWq0Wffv2RVRUFLKzs7FhwwZcunQJs2bNwlNPPQWA9bqRCRMmID8/Hxs3brRtO336NB577DG0b98ejz76KDIyMrB48WL07dsXixYtasDR1p+JEyfCx8cHPXv2RFhYGJKSkrBy5UooFAqsWLHC9gaMtao0Z84c/PLLLxg2bBj69u2LQ4cOYevWrZg+fTpee+01AKyXKz/88APeffddfPvttxg0aJDTftas5hiQGxmdTod58+Zhw4YNKCwsRFxcHF5++WWXv+g3m8GDByM1NdXlvu3bt9vWerxw4QL+/e9/48iRI1Aqlbjzzjsxa9YshIeH1+dwG9SECROqvB03YFkP04r1AjZt2oTVq1fj/PnzKCgogL+/P7p06YLx48fjnnvucTiW9aqaq4AMAIcPH8bcuXNx5swZ+Pv7Y9iwYXjttdec1nxvqr7//nts2LABV69ehVarRUhICPr3748XX3wRrVq1cjj2Zq+VlcFgwFdffYU1a9YgKysLMTExeOKJJzB58mSH41gvR+PGjcO1a9ewZ88e2wXZ12PNaoYBmYiIiIjIDnuQiYiIiIjsMCATEREREdlhQCYiIiIissOATERERERkhwGZiIiIiMgOAzIRERERkR0GZCIiIiIiOwzIRERERER2FA09ACIiqv5O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",
      "text/plain": [
       "<Figure size 800x550 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.title(\"Learning Curves\", fontsize=20)\n",
    "plt.plot(np.linspace(1, max_epochs, max_epochs), epoch_loss_list, color=\"C0\", linewidth=2.0, label=\"Train\")\n",
    "plt.plot(\n",
    "    np.linspace(val_interval, max_epochs, int(max_epochs / val_interval)),\n",
    "    val_epoch_loss_list,\n",
    "    color=\"C1\",\n",
    "    linewidth=2.0,\n",
    "    label=\"Validation\",\n",
    ")\n",
    "plt.yticks(fontsize=12)\n",
    "plt.xticks(fontsize=12)\n",
    "plt.xlabel(\"Epochs\", fontsize=16)\n",
    "plt.ylabel(\"Loss\", fontsize=16)\n",
    "plt.legend(prop={\"size\": 14})\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3768aac2",
   "metadata": {},
   "source": [
    "### Plotting sampling process along DDPM's Markov chain"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "0a414e21",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 1000/1000 [00:11<00:00, 86.30it/s]\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model.eval()\n",
    "noise = torch.randn((1, 1, 64, 64))\n",
    "noise = noise.to(device)\n",
    "scheduler.set_timesteps(num_inference_steps=1000)\n",
    "with autocast(device_type=\"cuda\", enabled=True):\n",
    "    image, intermediates = inferer.sample(\n",
    "        input_noise=noise, diffusion_model=model, scheduler=scheduler, save_intermediates=True, intermediate_steps=100\n",
    "    )\n",
    "\n",
    "chain = torch.cat(intermediates, dim=-1)\n",
    "\n",
    "plt.imshow(chain[0, 0].cpu(), vmin=0, vmax=1, cmap=\"gray\")\n",
    "plt.tight_layout()\n",
    "plt.axis(\"off\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dfb247a0",
   "metadata": {},
   "source": [
    "### Cleanup data directory\n",
    "\n",
    "Remove directory if a temporary was used."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "cc0ab338",
   "metadata": {},
   "outputs": [],
   "source": [
    "if directory is None:\n",
    "    shutil.rmtree(root_dir)"
   ]
  }
 ],
 "metadata": {
  "jupytext": {
   "formats": "ipynb,py:light"
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
